永发信息网

简单JAVA编程问题

答案:1  悬赏:70  手机版
解决时间 2021-04-21 16:16

要求写出所有实现代码

1, 编写一个简单的MIDlet应用,实现提醒功能。

创建5个Command按钮,包括警报,确认,错误,警告及退出按钮。

2, 编写一个事件处理程序,当按下不同按键时显示不同背景颜色。(至少三种背景色)

3, 编写MIDLet实现Graphics类的填充弧形功能。

最佳答案

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.Graphics;
import javax.microedition.midlet.MIDlet;
public class MIDlet1 extends MIDlet {


public MIDlet1() {}
protected void startApp() {
Display.getDisplay(this).setCurrent(new lCanvas(this));
}
protected void pauseApp() {}
protected void destroyApp(boolean arg0) {
notifyDestroyed();
}
public void exitApp(){
destroyApp(true);
}
public class lCanvas extends Canvas{
public int SW,SH;
public int bgColor=0x000000;
MIDlet1 midlet;

int huDu=90;
Font fontSmall = Font.getFont(Font.FACE_SYSTEM,Font.STYLE_PLAIN, Font.SIZE_SMALL);
public lCanvas(MIDlet1 midlet){
this.midlet=midlet;
setFullScreenMode(true);
SW=this.getWidth();
SH=this.getHeight();
}
protected void paint(Graphics g) {
g.setFont(fontSmall);
g.setClip(0, 0, SW, SH);
g.setColor(bgColor);
g.fillRect(0, 0, SW, SH);
//===================
g.setColor(0xFFFFFF);
g.drawString("按123键分别显示不同的背景颜色", 2, 2, 0);
g.drawString("按4键减小弧度按6键加大弧度", 2, 17, 0);
g.drawString("按0键分退出", 2, 32, 0);
//====绘制弧形
drawHuxing(g);
}
public void keyPressed(int keycode){
switch(keycode){
case Canvas.KEY_NUM1:
bgColor=0xff0000;
break;
case Canvas.KEY_NUM2:
bgColor=0x00ff00;
break;
case Canvas.KEY_NUM3:
bgColor=0x0000ff;
break;
case Canvas.KEY_NUM4:
if(huDu>0){
huDu-=10;
}
break;
case Canvas.KEY_NUM6:
if(huDu<360){
huDu+=10;
}
break;
case Canvas.KEY_NUM0:
midlet.exitApp();
break;
}
repaint();
}
//绘制弧形
public void drawHuxing(Graphics g){
g.setColor(0xffffff);
g.fillArc(40, 50, 100, 100, 0, huDu);

}
}
}






import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Font;
import javax.microedition.lcdui.Graphics;
import javax.microedition.midlet.MIDlet;
public class MIDlet1 extends MIDlet {


public MIDlet1() {}
protected void startApp() {
Display.getDisplay(this).setCurrent(new lCanvas(this));
}
protected void pauseApp() {}
protected void destroyApp(boolean arg0) {
notifyDestroyed();
}
public void exitApp(){
destroyApp(true);
}
public class lCanvas extends Canvas{
public int SW,SH;
public int bgColor=0x000000;
MIDlet1 midlet;

int huDu=90;
Font fontSmall = Font.getFont(Font.FACE_SYSTEM,Font.STYLE_PLAIN, Font.SIZE_SMALL);
public lCanvas(MIDlet1 midlet){
this.midlet=midlet;
setFullScreenMode(true);
SW=this.getWidth();
SH=this.getHeight();
}
protected void paint(Graphics g) {
g.setFont(fontSmall);
g.setClip(0, 0, SW, SH);
g.setColor(bgColor);
g.fillRect(0, 0, SW, SH);
//===================
g.setColor(0xFFFFFF);
g.drawString("按123键分别显示不同的背景颜色", 2, 2, 0);
g.drawString("按4键减小弧度按6键加大弧度", 2, 17, 0);
g.drawString("按0键分退出", 2, 32, 0);
//====绘制弧形
drawHuxing(g);
}
public void keyPressed(int keycode){
switch(keycode){
case Canvas.KEY_NUM1:
bgColor=0xff0000;
break;
case Canvas.KEY_NUM2:
bgColor=0x00ff00;
break;
case Canvas.KEY_NUM3:
bgColor=0x0000ff;
break;
case Canvas.KEY_NUM4:
if(huDu>0){
huDu-=10;
}
break;
case Canvas.KEY_NUM6:
if(huDu<360){
huDu+=10;
}
break;
case Canvas.KEY_NUM0:
midlet.exitApp();
break;
}
repaint();
}
//绘制弧形
public void drawHuxing(Graphics g){
g.setColor(0xffffff);
g.fillArc(40, 50, 100, 100, 0, huDu);

}
}
}



以上代码实现你了你后面2题


效果图如上,如有不明白的地方你可M我!

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
要怎样提高自己的高三成绩吖??郁闷!
得之坦然失之淡然争其必然顺其自然 ! 这句话
中国身价超过五十亿的人有多少?
鸿发装饰工程部(南小巷)这个地址在什么地方,
魔首世界…牧师…修改开场白…文笔好的大虾进
那怎么样才能上得?
卓越改装的问题~改装老手来!
上床之后他就和他说忘不了他前女友,但我又很
怎么才能让游戏人生升级快点
我如果不对我女朋友说坦白,这样我们的爱会不
关于编程的书
微信怎么刷美拍粉丝,美拍怎么快速涨粉,有什
路由器设置密码?
中国农业银行乐民营业所地址在哪,我要去那里
网恋需不需要把自己说丑
推荐资讯
永隆粮油我想知道这个在什么地方
南京在哪儿能学形象管理学?(希望是那种正规
长不高 怎么办
攀枝花学院位于市区的东区还是西区
请教一道初一数学题
永兴不锈钢管件怎么去啊,有知道地址的么
八字金舆是什么意思,金舆的意思是什么?
苦难的意义名人名言,求以苦难为话题的名人名
家家悦宜家生活广场我想知道这个在什么地方
各位大侠谁帮配置个电脑
什么护手霜质量好价格适中
优酷上下载的视频用什么软件转成AVI能用啊
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?