📄 arctest.java
字号:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
public class ArcTest extends MIDlet implements CommandListener, ItemStateListener{
Display display;
MyCanvas myCanvas;
ChoiceGroup setFilled;
Form form;
Gauge setStartAngle, setAngle;
Gauge setWidth, setHeight;
Command okCmd;
public ArcTest(){
display = Display.getDisplay(this);
myCanvas = new MyCanvas();
form = new Form("选择弧形类型");
setStartAngle = new Gauge("起始角度", true, 360, 0);
setAngle = new Gauge("展开角度", true, 360, 90);
setWidth = new Gauge("宽度", true, myCanvas.getWidth()/2, myCanvas.getWidth()/4);
setHeight = new Gauge("高度", true, myCanvas.getHeight()/2, myCanvas.getWidth()/4);
okCmd = new Command("确定", Command.OK, 1);
setFilled = new ChoiceGroup("Filled", List.EXCLUSIVE);
setFilled.append("FALSE", null);
setFilled.append("TRUE", null);
form.append(setFilled);
form.append(setStartAngle);
form.append(setAngle);
form.append(setWidth);
form.append(setHeight);
form.addCommand(okCmd);
form.setCommandListener(this);
form.setItemStateListener(this);
}
public void startApp(){
display.setCurrent(myCanvas);
}
public void pauseApp(){
}
public void destroyApp(boolean unconditional){
}
public void commandAction(Command c, Displayable d){
if(c == okCmd){
int index = setFilled.getSelectedIndex();
myCanvas.isFilled = (index == 0? false: true);
myCanvas.arcWidth = setWidth.getValue();
myCanvas.arcHeight = setHeight.getValue();
myCanvas.startAngle = setStartAngle.getValue();
myCanvas.angle = setAngle.getValue();
}
myCanvas.repaint();
display.setCurrent(myCanvas);
}
public void itemStateChanged(Item item){
if(item == setWidth){
setWidth.setLabel("高度"+setWidth.getValue());
}
else if(item == setHeight){
setHeight.setLabel("宽度"+ setHeight.getValue());
}
else if(item == setStartAngle){
setStartAngle.setLabel("起始角度:"+setStartAngle.getValue());
}
else if(item == setAngle){
setAngle.setLabel("展开角度:"+setAngle.getValue());
}
}
class MyCanvas extends Canvas implements CommandListener{
int arcWidth;
int arcHeight;
int startAngle, angle;
int x, y;
int mode;
boolean isFilled;
Command exitCmd;
Command changeCmd;
public MyCanvas(){
x = getWidth()/4;
y = getHeight()/4;
arcWidth = getWidth()/2;
arcHeight = getHeight()/2;
startAngle = 0;
angle = 180;
isFilled = false;
exitCmd = new Command("退出", Command.EXIT, 1);
changeCmd = new Command("改变", Command.SCREEN, 1);
addCommand(exitCmd);
addCommand(changeCmd);
setCommandListener(this);
}
public void paint(Graphics g){
g.setColor(0xFFFFFF);
g.fillRect(0, 0, getWidth(), getHeight());
g.setColor(0);
if(isFilled){
g.fillArc(x, y, arcWidth, arcHeight, startAngle, angle);
}
else{
g.drawArc(x, y, arcWidth, arcHeight, startAngle, angle);
}
}
public void commandAction(Command c, Displayable d){
if(c == exitCmd){
destroyApp(true);
notifyDestroyed();
}
else if(c == changeCmd){
display.setCurrent(form);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -