⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 texttest.java

📁 时钟的代码
💻 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 + -