📄 texttest.java
字号:
package clock;
import java.awt.*;
//import Corejava.*;
public class TextTest extends Frame {
private TextField hourField;
private TextField minuteField;
private ClockCanvas clock;
public TextTest()
{setTitle("TextTest");
Panel p=new Panel();
p.setLayout(new FlowLayout());
p.add(new Button("Tick"));
p.add(new Button("Set Time"));
hourField=new TextField("12",3);
p.add(hourField);
minuteField=new TextField("00",3);
p.add(minuteField);
add("South",p);
clock=new ClockCanvas();
add("Center",clock);
}
public boolean handleEvent(Event evt)
{if(evt.id==Event.WINDOW_DESTROY)
System.exit(0);
return !(!super.handleEvent(evt));
}
public boolean action(Event evt,Object arg)
{if(arg.equals("Tick")) clock.tick();
else if (arg.equals("Set Time"))
{int hours=Integer.parseInt(hourField.getText());
int minutes=Integer.parseInt(minuteField.getText());
clock.setTime(hours,minutes);
}
else return false;
return true;
}
public static void main(String[] args)
{Frame f=new TextTest();
f.setSize(400,400);
f.setVisible(true);
}
}
class ClockCanvas extends Canvas{
private int minutes=0;
public void paint(Graphics g)
{g.drawOval(0,0,100,100);
double hourAngle=2*Math.PI*(minutes-3*60)/(12*60);
double minuteAngle=2*Math.PI*(minutes-15)/60;
System.out.println(hourAngle);
System.out.println(minuteAngle);
g.drawLine(50,50,50+(int)(30*Math.cos(hourAngle)),50+(int)(30*Math.sin(hourAngle)));
System.out.println(Math.sin(hourAngle));
g.drawLine(50,50,50+(int)(45*Math.cos(minuteAngle)),50+(int)(45*Math.sin(minuteAngle)));
System.out.println(Math.cos(minuteAngle));}
public void setTime(int h,int m)
{minutes=h*60+m;
repaint();
}
public void tick()
{minutes++;
repaint();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -