?? countdown.java
字號:
/*
* 創建日期 2004-11-25
*
* TODO 要更改此生成的文件的模板,請轉至
* 窗口 - 首選項 - Java - 代碼樣式 - 代碼模板
*/
package countDown_2;
import javax.microedition.lcdui.*;
/**
* @author long1
*
* TODO 要更改此生成的類型注釋的模板,請轉至 窗口 - 首選項 - Java - 代碼樣式 - 代碼模板
*/
public class CountDown extends Canvas {
private int CanvasWidth;
private int CanvasHeight;
private int wordWidth;//單個字符的寬度
private String s;
private Font font;
private int sw;//字符串長度
private int xCenter;//字符串的x座標
private int yCenter;//字符串的y座標
private int strChangeIndex =12;//記錄第幾個字符更改
public CountDown() {
CanvasWidth = this.getWidth();
CanvasHeight = this.getHeight();
s = "00 : 00 : 00";//12個字符
font = Font
.getFont(Font.FACE_SYSTEM, Font.STYLE_PLAIN, Font.SIZE_SMALL);
sw = font.stringWidth(s);
xCenter = (CanvasWidth - sw) / 2;
yCenter = (CanvasHeight - font.getHeight()) / 2;
wordWidth = font.stringWidth("0");
}
protected void paint(Graphics g) {
g.setColor(0x00ffffff);
g.fillRect(0,0,this.getWidth(),this.getHeight());
// store clipping properties
int oldColor = g.getColor();
Font oldFont = g.getFont();
g.setColor(0);
g.fillRect( xCenter -1 +wordWidth * (strChangeIndex -1) ,
yCenter , wordWidth + 1, font.getHeight());
String str;
str = s.substring(0, strChangeIndex -1);
g.drawString(str, xCenter, yCenter, Graphics.TOP|Graphics.LEFT );
//畫有黑色框的字符,顏色為白色
g.setColor(0xffffff);
str = s.substring(strChangeIndex -1, strChangeIndex );
g.drawString(str,xCenter + wordWidth * (strChangeIndex -1), yCenter,
Graphics.TOP|Graphics.LEFT);
//畫剩余的字符串
g.setColor(0);
str = s.substring(strChangeIndex);
g.drawString(str, xCenter + wordWidth * strChangeIndex, yCenter,
Graphics.TOP|Graphics.LEFT);
g.setFont(oldFont);
g.setColor(oldColor);
return;
}
protected void keyPressed(int keyCode) {
switch(getGameAction(keyCode)){
case UP: //轉到上一周
break;
case DOWN: //轉到下一周
break;
case LEFT: //轉到上一天
switch(strChangeIndex){
case 1:
strChangeIndex = 12 ;
repaint();
break;
case 2:
strChangeIndex = strChangeIndex -1 ;repaint();
break;
case 6:
strChangeIndex = strChangeIndex -4 ;repaint();
break;
case 7:
strChangeIndex = strChangeIndex -1 ;repaint();
break;
case 11:
strChangeIndex = strChangeIndex -4 ;repaint();
break;
case 12:
strChangeIndex = strChangeIndex -1 ;repaint();
break;
}
break;
case RIGHT: //轉到下一天
switch(strChangeIndex){
case 1:
strChangeIndex = strChangeIndex +1 ;repaint();
break;
case 2:
strChangeIndex = strChangeIndex +4 ;repaint();
break;
case 6:
strChangeIndex = strChangeIndex +1 ;repaint();
break;
case 7:
strChangeIndex = strChangeIndex +4 ;repaint();
break;
case 11:
strChangeIndex = strChangeIndex +1 ;repaint();
break;
case 12:
strChangeIndex = 1 ;repaint();
break;
}
break;
}
switch (keyCode) {
case KEY_NUM0:
s = changeStr("0");
repaint();
break;
case KEY_NUM1:
s = changeStr("1");
repaint();
break;
case KEY_NUM2:
s = changeStr("2");
repaint();
break;
case KEY_NUM3:
s = changeStr("3");
repaint();
break;
case KEY_NUM4:
s = changeStr("4");
repaint();
break;
case KEY_NUM5:
s = changeStr("5");
repaint();
break;
case KEY_NUM6:
s = changeStr("6");
repaint();
break;
case KEY_NUM7:
s = changeStr("7");
repaint();
break;
case KEY_NUM8:
s = changeStr("8");
repaint();
break;
case KEY_NUM9:
s = changeStr("9");
repaint();
break;
}
}
protected String changeStr(String str) {
return s.substring(0, strChangeIndex-1) +str +
s.substring(strChangeIndex);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -