j2me简单的绘图实例
来源:互联网 发布:笔记本插着网线没网络 编辑:程序博客网 时间:2024/05/24 06:23
主类MIDlet:
package com.lvke.wuwu;
import javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class PointExample extends MIDlet {
Display display;
MyClass canvas;
public PointExample() {
display=Display.getDisplay(this);
canvas=new MyClass(this);
}
protected void startApp() throws MIDletStateChangeException {
display.setCurrent(canvas);
}
protected void destroyApp(boolean b) throws MIDletStateChangeException {
}
protected void pauseApp() {
}
public void MIDletExit() {
try {
this.destroyApp(false);
} catch (MIDletStateChangeException e) {
e.printStackTrace();
}
this.notifyDestroyed();
}
}
功能实现类:
package com.lvke.wuwu;
import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Graphics;
public class MyClass extends Canvas implements CommandListener {
private Command exit;
private Command arase;
private boolean araseFlag=false;
private boolean isFirstPaint;
private int sX=0,sY=0,cX=0,cY=0;
private PointExample point;
public MyClass(PointExample point){
this.point=point;
exit=new Command("退出",Command.EXIT,1);
arase=new Command("Arase",Command.SCREEN,1);
this.addCommand(exit);
this.addCommand(arase);
this.setCommandListener(this);
isFirstPaint=true;
}
public void commandAction(Command c, Displayable d) {
if(c==exit){
point.MIDletExit();
}else if(c==arase){
araseFlag=true;
repaint();
}
}
protected void paint(Graphics g) {
if(araseFlag||isFirstPaint){
g.setColor(255, 255, 255);
g.fillRect(0, 0, this.getWidth(), this.getHeight());
araseFlag=isFirstPaint=false;
sX=0;sY=0;cX=0;cY=0;
return;
}
g.setColor(255, 0, 0);
System.out.println("sx="+sX+"::sy="+sY+"::cx="+cX+"::cy="+cY);
g.drawLine(sX, sY, cX, cY);
sX=cX;
sY=cY;
}
//按下鼠标或点击屏幕时触发事件
protected void pointerPressed(int x,int y){
sX=x;
sY=y;
}
//拖动鼠标或者划屏时,激发该事件
protected void pointerDragged(int x,int y){
cX=x;
cY=y;
repaint();
}
}
效果图:
- j2me简单的绘图实例
- J2ME应用实例——一个简单的计算器实现(附源代码)
- J2ME应用实例——一个简单的计算器实现(附源代码)
- J2ME应用实例——一个简单的计算器实现(附源代码)
- 从一个实例浅谈J2ME Polish的build功能(一、功能简单介绍)
- J2ME:文本框的简单使用
- 简单的J2ME环境搭建
- J2ME做的简单计算器
- J2ME GUI实战之五 ----------LWUIT的绘图功能
- 使用事件处理创建一个简单的绘图实例程序 python
- winForm 做简单的绘图
- 关于绘图的简单问题
- VLA的AIPS简单绘图
- 简单的QT绘图程序
- wxPython: 简单的绘图例子
- C#中简单的绘图
- 简单的QT绘图程序
- drawRect简单的绘图Demo
- 第一次学习
- 重学java之随即数组二分查找
- 慎重
- 在java中&&和&的区别?
- 异常处理
- j2me简单的绘图实例
- 使用comparator进行数组的排序
- java数组排序Arrays.sort,以及结合Comparator接口的用法
- Java学习总结之第十一章 Java集合
- WPF TreeView递归异步绑定
- 希望得到大家的帮助
- 关于DataWindow.Net的相关记录
- Struts1.X day3
- may 6,2011