?? clockcanvas.java
字號:
import javax.microedition.lcdui.*;
public class ClockCanvas extends Canvas {
private int hour;
private int minute;
private int second;
protected int xCenter, yCenter;
protected int clockRadius;
int width = 0;
int height = 0;
ClockCanvas(int hour, int minute, int second){
this.hour = hour;
this.minute = minute;
this.second = second;
}
// Draw the clock
public void paint(Graphics g){
width = getWidth();
height = getHeight();
g.setGrayScale(255);
g.fillRect(0,0,width-1,height-1);
g.setGrayScale(0);
g.drawRect(0,0,width-1,height-1);
// Initialize clock parameters
// clockRadius = (int)(Math.min(width,height)*0.7*0.5);
clockRadius = Math.min(width,height)-20;
xCenter = getWidth()/2;
yCenter = getHeight()/2;
g.drawArc(10,12,clockRadius,clockRadius,0,360);
/* g.drawOval(xCenter - clockRadius,yCenter - clockRadius,
2*clockRadius, 2*clockRadius);*/
g.drawString("12",xCenter,0,Graphics.TOP|Graphics.HCENTER);
g.drawString("9",1,yCenter,Graphics.BASELINE|Graphics.LEFT);
g.drawString("3",width-1,yCenter,Graphics.BASELINE|Graphics.RIGHT);
g.drawString("6",xCenter,height,Graphics.BOTTOM|Graphics.RIGHT);
// Draw second hand
// int sLength = (int)(clockRadius*0.9);
// int xSecond =
// (int)(xCenter + sLength*Math.sin(second*(2*Math.PI/60)));
int ySecond = 15/clockRadius*second*10000;
// (int)(yCenter - sLength*Math.cos(second*(2*Math.PI/60)));
// g.setColor(Color.red);
g.drawLine(xCenter, yCenter, clockRadius+ySecond, ySecond);
// Draw minute hand
/* int mLength = (int)(clockRadius*0.75);
int xMinute =
(int)(xCenter + mLength*Math.sin(minute*(2*Math.PI/60)));
int yMinute =
(int)(yCenter - mLength*Math.cos(minute*(2*Math.PI/60)));
g.setColor(Color.blue);
g.drawLine(xCenter, yCenter, xMinute, yMinute);
// Draw hour hand
int hLength = (int)(clockRadius*0.6);
int xHour = (int)(xCenter +
hLength*Math.sin((hour+minute/60.0)*(2*Math.PI/12)));
int yHour = (int)(yCenter -
hLength*Math.cos((hour+minute/60.0)*(2*Math.PI/12)));
g.setColor(Color.green);
g.drawLine(xCenter, yCenter, xHour, yHour);
// Display current time in string
g.setColor(Color.red);
String time = "Hour: " + hour + " Minute: " + minute +
" Second: " + second;
FontMetrics fm = g.getFontMetrics();
g.drawString(time, (getSize().width -
fm.stringWidth(time))/2, yCenter+clockRadius+30);*/
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -