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

📄 mycourse.java

📁 这是我第一次开始尝试J2ME平台的程序编写
💻 JAVA
字号:
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import java.util.*;

public class MyCourse extends MIDlet implements CommandListener {
	//private boolean firstTime = true;
	private Display display;
	private Command exitCommand = new Command("Exit",Command.EXIT,1);
	private Command okCommand = new Command("Go",Command.OK,1);
	private Command backCommand = new Command("Back",Command.BACK,1);
	private Image img;
	//private Form begin;
	protected List list;
	private ShowCourse show;
	private TextBox tb = new TextBox("Course",null,50,TextField.ANY);
	private Ticker t;//= new Ticker("您好,欢迎来到微型课程表查询系统...确定好日期,点击\"Go\"开始查询!有疑问请Call端梧,电话:13778579889,QQ:112662211。谢谢使用!");
	//private Ticker t2;// = new Ticker("您好,欢迎来到微型课程表查询系统...有疑问请Call端梧,电话:13778579889,QQ:112662211。谢谢使用!");
	protected static int day;
	private StarCanvas sc;

	public MyCourse() {
		super();
		// TODO 自动生成构造函数存根
		display = Display.getDisplay(this);
		
	}

	protected void startApp() throws MIDletStateChangeException {
		// TODO 自动生成方法存根
		/*if(firstTime){
			begin = new Form("Course");
			try{
				image = Image.createImage("/res/monkey.png");
			}
			catch(java.io.IOException e){
				image = null;
				System.out.print("...load false...\n");
			}
			Calendar calendar = Calendar.getInstance();
			int y = calendar.get(Calendar.YEAR);
			int m = calendar.get(Calendar.MONTH);
			int d = calendar.get(Calendar.DAY_OF_MONTH);
			int w = calendar.get(Calendar.DAY_OF_WEEK);
			
			String year = String.valueOf(y);
			String month = String.valueOf(m);
			String date = String.valueOf(d);
			String week = String.valueOf(w);
			/*try{
				img = Image.createImage("/res/icon.png");
			}
			catch(java.io.IOException e){
				img = null;
				System.out.print("...load false...\n");
			}
			ImageItem imageitem = new ImageItem(null,image,Item.LAYOUT_DEFAULT,"Picture");
			begin.setTicker(t1);
			begin.append("今天是 " + year + " 年 " + month + " 月 " + date + " 号 " + " 星期 " + week);
			begin.append(imageitem);
			begin.addCommand(okCommand);
			begin.setCommandListener(this);
			display.setCurrent(begin);
			firstTime = false;*/
			Calendar calendar = Calendar.getInstance();
			int y = calendar.get(Calendar.YEAR);
			int m = calendar.get(Calendar.MONTH);
			int d = calendar.get(Calendar.DAY_OF_MONTH);
			int w = calendar.get(Calendar.DAY_OF_WEEK);
		
			String year = String.valueOf(y);
			String month = String.valueOf(m);
			String date = String.valueOf(d);
			String week = String.valueOf(w);
			t = new Ticker("您好," + "今天是 " + year + " 年 " + month + " 月 " + date + " 日 " + " 星期 " + week + "...欢迎来到微型课程表查询系统...有疑问请Call端梧,电话:13778579889,QQ:112662211。谢谢使用...");
			sc = new StarCanvas();
			sc.addCommand(okCommand);
			sc.setCommandListener(this);
			//sc.setTicker(t);
			display = Display.getDisplay(this);
			display.setCurrent(sc);
		}



	protected void pauseApp() {
		// TODO 自动生成方法存根

	}

	protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
		// TODO 自动生成方法存根

	}

	public void commandAction(Command arg0, Displayable arg1) {
		// TODO 自动生成方法存根
		if(arg1 == sc && arg0 == okCommand){
			
			Image []iconArray = null;
			try{
				img = Image.createImage("/res/icon.png");
				iconArray = new Image[]{img,img,img,img,img,img,img};
			}
			catch(java.io.IOException e){
				System.out.print("...load false...\n");
			}

			String []timeArray = {"星期一","星期二","星期三","星期四","星期五","星期六","星期日"};

			list = new List("课程表",Choice.IMPLICIT,timeArray,iconArray);
			list.setTicker(t);
			list.addCommand(backCommand);
			list.addCommand(exitCommand);
			list.setCommandListener(this);
			display.setCurrent(list);
		}
		else if(arg1 == list && arg0 == backCommand){
			display.setCurrent(sc);
		}
		else if(arg1 == tb && arg0 == backCommand){
			display.setCurrent(list);
		}
		else if(arg1 == show && arg0 == backCommand){
			display.setCurrent(list);
		}
		else if(arg0 == exitCommand){
			try{
				destroyApp(false);
			}
			catch(MIDletStateChangeException e){
				e.printStackTrace();
			}
			notifyDestroyed();
		}
		else if(arg1.equals(list)){
			if(arg0 == List.SELECT_COMMAND){
				day = ((List)arg1).getSelectedIndex();
				show = new ShowCourse();
				//show.setTicker(t);
				show.addCommand(backCommand);
				show.addCommand(exitCommand);
				show.setCommandListener(this);
				display.setCurrent(show);
			}
		}

	}
	
	public int getDay(){
		return day;
	}

}

class StarCanvas extends Canvas {

	Image offScreen;//缓冲区对象

	Graphics drawOffScreen;

	int width, height;

	private Random random;

	protected StarCanvas() {

		random = new Random();
		width = this.getWidth();
		height = this.getHeight();
		offScreen = Image.createImage(width, height);
		drawOffScreen = offScreen.getGraphics();

	}

	protected void paint(Graphics g) {

		drawOffScreen.setColor(0, 0, 0);
		drawOffScreen.fillRect(0, 0, width, height);

		drawOffScreen.setColor(255, 255, 255);
		//每隔4行随机画星星
		for (int j = 0; j < height; j=j+4) {
			for (int i = 0; i < width; ++i) {
				int test = Math.abs(random.nextInt()) % 100;
				if (test < 5) {
					drawOffScreen.drawLine(i, j, i, j);
				}
			}
		}

		g.drawImage(offScreen, 0, 0, Graphics.TOP | Graphics.LEFT);

	}

}
class ShowCourse extends Canvas{
	private StarCanvas sscc;
	protected void paint(Graphics g){
		//MyCourse mc = new MyCourse();
		//System.out.println(mc.getDay() + "second");
		String s1 = " 上午1,2节 :";
		String s2 = " 上午3,4节 :";
		String s3 = " 下午1,2节 :";
		String s4 = "《WEB程序设计》";
		String s5 = "《网络程序设计》";
		String s6 = "《计算机图形学》";
		String s7 = "《软件测试》";
		String s8 = "《法律基础》";
		String s9 = " 11周---18周";
		String s10 = " 1周---15周";
		String s11 = " 316教室";
		String s12 = " 318教室";
		String s13 = " 508教室";
		String s14 = " 412教室";
		String s15 = " 422教室";
		String s16 = " 314教室";
		String s17 = " 408教室";
		String s18 = " 513教室";
		String s19 = " 刘锴老师";
		String s20 = " 张立人老师";
		String s21 = " 彭博士";
		String s22 = " 陈汀老师";
		//int height = getHeight();
		int width = getWidth();
		Font f = Font.getFont(Font.FACE_SYSTEM,Font.STYLE_BOLD,Font.SIZE_LARGE);
		g.setFont(f);
		int stringHeight = f.getHeight();
		//填充背景;
		//g.setColor(186,145,35);
		//g.fillRect(0,0,getWidth(),getHeight()*2);
		sscc = new StarCanvas();
		sscc.paint(g);
		//g.setColor(85,213,9);
		//g.fillRect(5,5,width,height*2);
		/*int i = 0;
		int j = 100;
		while(i < height / 2){
			if(j < 256)
				g.setColor(j,255,255);
			g.drawLine(5,i + 5,width + 4,i + 5);
			g.drawLine(5,height - i,width + 4,height - i);
			i = i + 1;
			j++;
		}*/
		//画区域框;
		/*for(int i = 0;i < 5;i++){
			g.setColor(255,255,40);
			g.drawRect(4 - i,4 - i,getWidth() - i,getHeight() - i);
		}*/
		
		//写课程内容;
		switch(MyCourse.day){
		case 0:
			g.setColor(255,255,255);
			g.drawString(s1,5,5,Graphics.TOP|Graphics.LEFT);
			g.drawString(s4,5,stringHeight,Graphics.TOP|Graphics.LEFT);
			g.drawString(s11,5,(stringHeight*2),Graphics.TOP|Graphics.LEFT);
			g.drawString(s19,5,(stringHeight*3),Graphics.TOP|Graphics.LEFT);
			g.drawString(s9,5,(stringHeight*4),Graphics.TOP|Graphics.LEFT);
			//g.setColor(186,145,35);
			g.drawLine(5,stringHeight*5,width,stringHeight*5);
			break;
		case 1:
			g.setColor(255,255,255);
			g.drawString(s1,5,5,Graphics.TOP|Graphics.LEFT);
			g.drawString(s5,5,stringHeight,Graphics.TOP|Graphics.LEFT);
			g.drawString(s12,5,(stringHeight*2),Graphics.TOP|Graphics.LEFT);
			g.drawString(s20,5,(stringHeight*3),Graphics.TOP|Graphics.LEFT);
			g.drawString(s9,5,(stringHeight*4),Graphics.TOP|Graphics.LEFT);
			//g.setColor(186,145,35);
			g.drawLine(5,stringHeight*5,width,stringHeight*5);
			//g.setColor(0,0,0);
			g.drawString(s2,5,(stringHeight*5),Graphics.TOP|Graphics.LEFT);
			g.drawString(s6,5,(stringHeight*6),Graphics.TOP|Graphics.LEFT);
			g.drawString(s21,5,stringHeight*7,Graphics.TOP|Graphics.LEFT);
			g.drawString(s13,5,(stringHeight*8),Graphics.TOP|Graphics.LEFT);
			g.drawString(s9,5,(stringHeight*9),Graphics.TOP|Graphics.LEFT);
			//g.setColor(186,145,35);
			g.drawLine(5,stringHeight*10,width,stringHeight*10);
			break;
		case 2:
			g.setColor(255,255,255);
			g.drawString(s1,5,5,Graphics.TOP|Graphics.LEFT);
			g.drawString(s5,5,stringHeight,Graphics.TOP|Graphics.LEFT);
			g.drawString(s11,5,(stringHeight*2),Graphics.TOP|Graphics.LEFT);
			g.drawString(s20,5,(stringHeight*3),Graphics.TOP|Graphics.LEFT);
			g.drawString(s9,5,(stringHeight*4),Graphics.TOP|Graphics.LEFT);
			//g.setColor(186,145,35);
			g.drawLine(5,stringHeight*5,width,stringHeight*5);
			//g.setColor(0,0,0);
			g.drawString(s2,5,(stringHeight*5),Graphics.TOP|Graphics.LEFT);
			g.drawString(s7,5,(stringHeight*6),Graphics.TOP|Graphics.LEFT);
			g.drawString(s14,5,(stringHeight*7),Graphics.TOP|Graphics.LEFT);
			g.drawString(s20,5,(stringHeight*8),Graphics.TOP|Graphics.LEFT);
			g.drawString(s9,5,(stringHeight*9),Graphics.TOP|Graphics.LEFT);
			//g.setColor(186,145,35);
			g.drawLine(5,stringHeight*10,width,stringHeight*10);
			break;
		case 3:
			g.setColor(255,255,255);
			g.drawString(s1,5,5,Graphics.TOP|Graphics.LEFT);
			g.drawString(s6,5,stringHeight,Graphics.TOP|Graphics.LEFT);
			g.drawString(s15,5,(stringHeight*2),Graphics.TOP|Graphics.LEFT);
			g.drawString(s21,5,(stringHeight*3),Graphics.TOP|Graphics.LEFT);
			g.drawString(s9,5,(stringHeight*4),Graphics.TOP|Graphics.LEFT);
			g.drawLine(5,stringHeight*5,width,stringHeight*5);
			g.drawString(s2,5,(stringHeight*5),Graphics.TOP|Graphics.LEFT);
			g.drawString(s7,5,(stringHeight*6),Graphics.TOP|Graphics.LEFT);
			g.drawString(s16,5,(stringHeight*7),Graphics.TOP|Graphics.LEFT);
			g.drawString(s20,5,(stringHeight*8),Graphics.TOP|Graphics.LEFT);
			g.drawString(s9,5,(stringHeight*9),Graphics.TOP|Graphics.LEFT);
			g.drawLine(5,stringHeight*10,width,stringHeight*10);
			break;
		case 4:
			g.setColor(255,255,255);
			g.drawString(s1,5,5,Graphics.TOP|Graphics.LEFT);
			g.drawString(s4,5,stringHeight,Graphics.TOP|Graphics.LEFT);
			g.drawString(s17,5,(stringHeight*2),Graphics.TOP|Graphics.LEFT);
			g.drawString(s19,5,(stringHeight*3),Graphics.TOP|Graphics.LEFT);
			g.drawString(s9,5,(stringHeight*4),Graphics.TOP|Graphics.LEFT);
			//g.setColor(186,145,35);
			g.drawLine(5,stringHeight*5,width,stringHeight*5);
			//g.setColor(0,0,0);
			g.drawString(s3,5,(stringHeight*5),Graphics.TOP|Graphics.LEFT);
			g.drawString(s8,5,(stringHeight*6),Graphics.TOP|Graphics.LEFT);
			g.drawString(s18,5,(stringHeight*7),Graphics.TOP|Graphics.LEFT);
			g.drawString(s22,5,(stringHeight*8),Graphics.TOP|Graphics.LEFT);
			g.drawString(s10,5,(stringHeight*9),Graphics.TOP|Graphics.LEFT);
			//g.setColor(186,145,35);
			g.drawLine(5,stringHeight*10,width,stringHeight*10);
			break;
		case 5:
			//g.setColor(0,0,0);
			//g.fillRect(0,0,getWidth(),getHeight());
			sscc.paint(g);
			break;
		case 6:
			//g.setColor(0,0,0);
			//g.fillRect(0,0,getWidth(),getHeight());
			sscc.paint(g);
			break;
		default :
			break;
		}
	}
	

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -