当前位置:编程学习 > JAVA >>

JAVA语言设计实验,帮忙解决追加100分

编写一个秒针计时器,在画面包含一个文本框,显示秒针值,安排一个“开始”按钮和“结束”按钮,点击“开始”按钮则开始计时,点击“结束”按钮停止计时。时间确定可借助日历对象实例方法实现,用get(Calendar.SECOND)方法得到秒值,用get(Calendar.MINUTE)方法得到分值,用get(Calandar.HOUR)方法得到小时值。计算从“开始”到“当前”的时间差即可确定花费的秒数
追问:进一步思考:如何将秒针计时器设计为图形界面,绘制一个圆形秒表,秒表的一圈为60秒,根据花费的时间显示秒针的变化。
答案:import java.awt.Button;
import java.awt.FlowLayout;
import java.awt.Frame;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.util.Calendar;


public class TestCalendar extends Frame implements ActionListener{
public TextField tf = new TextField(20);
public Button b = new Button("开始");
public Button b2 = new Button("清空");
Calendar c = null;
public TestCalendar(){
this.setBounds(400, 300, 200, 100);
this.setLayout(new FlowLayout());
this.add(tf);
this.add(b);
this.add(b2);
b.addActionListener(this);
b2.addActionListener(this);
this.setVisible(true);
this.addWindowListener(new WindowAdapter(){

@Override
public void windowClosing(WindowEvent arg0) {
// TODO Auto-generated method stub
System.exit(0);
}
});
}
public static void main(String []args){
new TestCalendar();
}

@Override
public void actionPerformed(ActionEvent e) {
if(e.getActionCommand().equals("开始")){
c = Calendar.getInstance();
b.setLabel("停止");
}else if(e.getActionCommand().equals("停止")){
tf.setText(String.valueOf(getCompare(c,Calendar.getInstance())));
b.setLabel("开始");
}else if(e.getActionCommand().equals("清空")){
tf.setText("");
}

}
public static int getCompare(Calendar c,Calendar c2){
return (c2.get(Calendar.HOUR)-c.get(Calendar.HOUR))*60*60+
(c2.get(Calendar.MINUTE)-c.get(Calendar.MINUTE))*60+
c2.get(Calendar.SECOND)-c.get(Calendar.SECOND);
}
}

呵呵,这么执着啊,NetBeans会用吗?不会告诉我,我教你,哪里不会问我就行

粗略的说下思路吧. 在哪写其实都差不多吧.

// 放两个按钮用的

JPanel pane = new JPanel();

pane.setLayout(new FlowLayout(FlowLayout.CENTER));

// 建立两个按钮放上去

JButton start = new JButton("开始");

JButton end = new JButton("结束");

pane.add(start);

pane.add(end);

// 然后建立一个listener 控制开始和结束

start.addListener(new ActionListener() {

// 控制开始时间

});

end.addListener(new ActionListener() {

// 计算结束时间.

});

// 最后在JTextField 显示出来.用个值传递下就可以了

上一个:Java中提供的常量一般都有什么作用
下一个:编了个java小程序,有问题哦!

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,