⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 countdown.java

📁 《精通JAVA手机游戏与应用程序设计》随书光盘
💻 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 + -