用java设计秒表_运用Java编写 秒表程序
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class SecondJFrame extends JFrame implements ActionListener,FocusListener
{ ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//響應單擊、焦點事件
private JTextField text;
private JButton buttons[];
private Timer timer; ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? //定時器對象
public SecondJFrame()
{
super("秒表");
this.setSize(240,110);
this.setLocation(500,400);
this.setDefaultCloseOperation(EXIT_ON_CLOSE);
this.addFocusListener(this); ? ? ? ? ? ? ? ? ? ? ? //注冊焦點事件監聽器
this.getContentPane().setLayout(new GridLayout(2,1));
JPanel panels[] = new JPanel[2];
for (int i=0; i
{
panels[i] = new JPanel();
this.getContentPane().add(panels[i]);
}
text = new JTextField("0.00",16);
text.setHorizontalAlignment(JTextField.RIGHT);
panels[0].add(text);
panels[0].add(new JLabel("秒"));
String bstr[]={"Start","Continue","Stop"};
buttons=new JButton[bstr.length];
for (int i=0; i
{
buttons[i]=new JButton(bstr[i]);
buttons[i].addActionListener(this);
panels[1].add(buttons[i]);
}
buttons[1].setEnabled(false);
buttons[2].setEnabled(false);
timer = new Timer(10,this); ? ? ? ? ? ? ? ? ? ? ? ?//創建定時器對象
this.setVisible(true);
}
public void actionPerformed(ActionEvent e) ? ? ? ? ? ? //定時器定時執行事件
{
if (e.getSource()==timer)
{
double t=Double.parseDouble(text.getText());
t+=0.01;
text.setText(String.format("%1.2f", t));
return;
}
if (e.getSource()==buttons[0])
{
text.setText("0.00");
timer.start(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? //定時器啟動
buttons[0].setEnabled(false);
buttons[1].setEnabled(false);
buttons[2].setEnabled(true);
return;
}
if (e.getSource()==buttons[1])
{
timer.restart(); ? ? ? ? ? ? ? ?//定時器重啟動
buttons[0].setEnabled(false);
buttons[1].setEnabled(false);
buttons[2].setEnabled(true);
return;
}
if (e.getSource()==buttons[2])
{
timer.stop(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//定時器停止
buttons[0].setEnabled(true);
buttons[1].setEnabled(true);
buttons[2].setEnabled(false);
}
}
public void focusGained(FocusEvent e){} ? ? ? ? ? ? ? ?//框架窗口獲得焦點時
public void focusLost(FocusEvent e) ? ? ? ? ? ? ? ? ? ?//框架窗口失去焦點時
{
timer.stop(); ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?//定時器停止
}
public static void main(String arg[])
{
new SecondJFrame();
}
}
總結
以上是生活随笔為你收集整理的用java设计秒表_运用Java编写 秒表程序的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab fft简单小例子,matl
- 下一篇: HDFS剩余空间大小的Java接口,ja