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

📄 maincanvas.java

📁 自己随便写的一个J2ME的小程序。ECLIPSE打开就好了。
💻 JAVA
字号:
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class MainCanvas extends Canvas implements Runnable
{
	public int height;
	public int wide;
	public LPKeyMask AllOf;//实现所有的参数的存储
	private Alert alert;
	
	public int whichActive;//获取当前按键的编号,对应的处理事件
	public int allAction;//按键的状态的表示
	 private Image image=null;//backgroundpictrue
	 public    TESTP pass;//从主类传来的截面的控制类
     public ShowData show;
	public MainCanvas(TESTP pass)
	{  
		AllOf=new LPKeyMask();
		this.pass=pass;
		whichActive=0;
		image=null;
		alert =new Alert("");
		
		
		
		alert.setString("           手机里课表为空                            请先添加课程的安排");
		
		
		alert.setTimeout(3000);
		
			
		
		try
		{
			
			image=Image.createImage("/p1.png");  
			
			
		}
		catch(Exception e)
		{
			System.out.println(e+"    show me the error");
			
		}
		
	}


	protected void paint(Graphics g) {
	drawMenuScreen(g);
		
	}
	
	public void drawMenuScreen(Graphics g)
	{
		System.out.println("drawMenuScreen 函数正常");
		height=getHeight();
		wide=getWidth();
		System.out.println(height+"  "+wide);
		Font font=Font.getFont(Font.FACE_MONOSPACE,Font.STYLE_BOLD|Font.STYLE_ITALIC,Font.SIZE_LARGE);
		g.setFont(font);
		g.setClip(0, 0, wide, height);
		g.drawImage(image, 20, 20, g.LEFT|g.TOP);
		int menuOffset=(height-font.getHeight()*3)/2;
		int item0Color=0;
		int item1Color=0;
		int item2Color=0;
		switch(whichActive)
		{
		case 0:
			item0Color=255<<32;
		break;
		case 1:
			item1Color=255<<32;
			break;
		case 2:
			item2Color=255<<32;
			break;
		
		
		}
		g.setColor(item0Color);
		g.drawString("查看当天的课程", (wide-font.stringWidth("查看当天的课程"))/2, menuOffset+font.getHeight()*0, g.LEFT|g.TOP);
		g.setColor(item1Color);
		g.drawString("修改课程的安排",(wide-font.stringWidth("修改课程的安排"))/2, menuOffset+font.getHeight()*1, g.LEFT|g.TOP);
		g.setColor(item2Color);
	    g.drawString("退出系统",(wide-font.stringWidth("推出系统"))/2,menuOffset+font.getHeight()*2, g.LEFT|g.TOP);
		
		
	}	
	
	public void run()
	{
		action();
		
		
	}
	protected void keyPressed(int keyCode)
	{
		//judgeKeyCode(keyCode,getGameAction(keyCode));
    /*   int  action=getGameAction(keyCode);
		
		switch(action){
		case LEFT:                       		//left, right, up ,down
		case RIGHT:
		case UP:
			if(whichActive==0)
			{
				whichActive=0;
				
			}
			else
			{
			whichActive--;
		}
			repaint();
			break;
		case DOWN:
			if(whichActive==3)
			{
			whichActive=3;
			}
			else{
			whichActive++;
			}
			repaint();
			break;
			
		case FIRE: 	
			System.out.println(" jjj"+whichActive);
			System.out.println("48468184");  //是与否的选择处理
			break;
		}	
		*/	
		
	}
	protected void keyReleased(int keyCode)
	{
		judgeKeyCode(keyCode,getGameAction(keyCode));
		freeKey(keyCode,getGameAction(keyCode));
		
		
	}
	
	public void judgeKeyCode(int keyCode ,int GameKeyCode)
	{
		switch(GameKeyCode)
		{
		
		case Canvas.FIRE://当开始建被按下的时候
			
       
			break;
		case Canvas.UP://当向上的键被按下的时候
			
			if(whichActive==0)
			{
				whichActive=0;
				
			}
			else
			{
			whichActive--;
		}
			repaint();
			
		break;
		
		
		
		case Canvas.DOWN://当向下的间被按下的时候
		//	if(((allAction&LPKeyMask.MASK_KEY_DOWN)==0)&&((allAction&LPKeyMask.MASK_KEY_DOWN_FLAG)==0))
		//	{
		//		allAction|=LPKeyMask.MASK_KEY_DOWN|LPKeyMask.MASK_KEY_DOWN_FLAG;
				
		//	}
			if(whichActive==2)
			{
			whichActive=2;
			}
			else{
			whichActive++;
			}
			repaint();
			break;
		
		}
		
		
	}
	
	public void freeKey(int keyCode,int gameKeyCode)
	{System.out.println("freeKey 函数正常");
		switch(gameKeyCode)
		{
		case Canvas.FIRE:
			
			allAction&=~LPKeyMask.MASK_KEY_OK;
			Missile(whichActive);
			break;
		case Canvas.UP:
			allAction&=~LPKeyMask.MASK_KEY_UP;
			break;
		case Canvas.DOWN:
			allAction&=~LPKeyMask.MASK_KEY_DOWN;
			break;
		
		
		}
		
		
	}
	public void action()
	{
		
		
		if((allAction&LPKeyMask.MASK_KEY_UP_FLAG)!=0)
		{
			
			allAction&=~LPKeyMask.MASK_KEY_DOWN_FLAG;
			if(whichActive!=0)
			{
				--whichActive;
				
				
			}
			else
			{
				
				whichActive=2;
				
				
			}
			
			
		}
		
		else if((allAction&LPKeyMask.MASK_KEY_DOWN_FLAG)!=0)
		{
			allAction&=~LPKeyMask.MASK_KEY_DOWN_FLAG;
			if(whichActive!=2)
			{
				++whichActive;
				
				
				
			}
			else
			{
				whichActive=0;
				
				
			}
			
		}else if((allAction&LPKeyMask.MASK_KEY_OK_FLAG)!=0)

		{
			allAction&=~LPKeyMask.MASK_KEY_OK_FLAG;
		
			
			
			
		}
		
	}
	
	
	
public void Missile(int Position)
{
  switch(Position)
  {
  case 0:
	  boolean flag=false;
	  try
	  {    int temp;
	  
		  AllOf.PicStack.push(Display.getDisplay(pass).getCurrent()); 
		 // LPKeyMask.ClassSave1.deleteRecord();
		  //temp=LPKeyMask.ClassSave1.addRecord("星期一:    第一,二节 <软件成熟度模型CMM 毕硕本明德N404>");//判断数据是否为空,假如是空就提示输入,不是空的话,就跳转到查询截面
		 // System.out.println("添加的数据的ID是 "+temp);
		// System.out.println(temp+"88888888");
		  if(LPKeyMask.ClassSave1.empty())
			  
		  {
			  
			
			  Display.getDisplay(pass).setCurrent(alert,(Displayable)AllOf.PicStack.pop());
			
			
		  }
		  
		  else {
		//LPKeyMask.ClassSave1.close();
			//  LPKeyMask.ClassSave1.deleteRecord();
		//LPKeyMask.ClassSave1.setRecord("编译原理2节/双周(01-18)郑关胜明德N315(调0053)、(调0140)、(调0141)嵌入式软件设计2节/周(01-18)岳键   明德S603分布式系统2节/周(01-18)陈遥明德S103",1);
		//LPKeyMask.ClassSave1.setRecord("软件体系结构2节/周(01-18)潘锦基文德S503 专业英语2节/双周(01-18)马廷淮明德S405",2);
		//LPKeyMask.ClassSave1.setRecord("移动通信软件设计2节/周(01-18)刘文杰明德N305(调0133)",5);
		System.out.println("********");
		
		  show=new ShowData(pass,AllOf);
		  Display.getDisplay(pass).setCurrent(show);
		
		
		 
		  }
		  
		  
		 
	  }
	  catch(Exception e)
	  {
		  System.out.println("把当前的显示对象压入图象错误,"+e);
		  
	  }	  
	  
	  break;
  case 1:
	  System.out.println("修改日期或者课程的安排");
	  break;
 
  case 2:
	  System.out.println("退出系统");
	  pass.destroyApp(true);
	  
	  break;
  
  
  
  
  
  }


}
	
	
	
	

}

⌨️ 快捷键说明

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