用下面的代码,计时器计数4秒,如果达到1, 'Hello World!'打印出来。
我怎样才能让这个只在第一次计数1Java Swing Timer;创建一个循环;计数到4两次
我如何做到这一点的,定时器计数到4次,打印 的Hello World?
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.Calendar;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
import java.awt.Color;
import java.awt.Toolkit;
class clockExample1 extends JFrame {
private JTextField _textfield1;
public clockExample1() {
_textfield1 = new JTextField(5);
_textfield1.setEditable(false);
JPanel panel1 = new JPanel();
panel1.setLayout(new FlowLayout());
panel1.add(_textfield1);
JButton button1 = new JButton("click here");
this.setContentPane(panel1);
this.setTitle("Text Clock 1");
this.pack();
this.setLocationRelativeTo(null);
this.setResizable(true);
panel1.add(button1);
ClockListener cl = new ClockListener();
Timer t = new Timer(1000, cl);
t.start();
}
class ClockListener implements ActionListener {
int count = 0;
public void actionPerformed(ActionEvent e) {
int fakeSecond = (count++ % 4) + 1;
if (fakeSecond == 1) { System.out.println("Hello, World!");
}
Calendar now = Calendar.getInstance();
int h = now.get(Calendar.HOUR_OF_DAY);
int m = now.get(Calendar.MINUTE);
int s = now.get(Calendar.SECOND);
_textfield1.setText("" + fakeSecond + "");
}
}
public static void main(String[] args) {
JFrame clock = new clockExample1();
clock.setVisible(true);
}
}
并没有忘记标记这个功课;-) – kleopatra 2011-04-11 09:08:18
你是什么意思很简单?哈哈我是初学者! – Opoe 2011-04-11 09:17:02
计时器是你自己的对象吗?我不认为java.util.Timer有一个叫做start的方法吗? – Koekiebox 2011-04-11 09:21:49