我刚刚开始使用Java,我需要帮助,我想每5秒钟更新一次JtextField
,我搜索了一些东西,然后尝试使用thread.sleep(5000)
,但它无法正常工作(和我不知道为什么。以下是我JtextField
的代码:
textField_1 = new JTextField();
textField_1.setText("0656");
textField_1.setFont(new Font("Verdana", Font.PLAIN, 80));
textField_1.setToolTipText("");
textField_1.setHorizontalAlignment(SwingConstants.CENTER);
textField_1.setBounds(212, 120, 600, 150);
frame.getContentPane().add(textField_1);
textField_1.setColumns(10);
答案 0 :(得分:3)
实现这一目标的最简单方法是使用类Timer。
Timer t = new Timer();
t.schedule(new TimerTask() {
@Override public void run() {
// textField_t.setText(YOUR TEXT);
}
}, 0L, 5000L);
答案 1 :(得分:1)
使用Swing Timer组件通过Swing GUI工具包执行重复性任务:
ActionListener task = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
// Do stuff
}
};
Timer timer = new Timer(100 ,task); // Execute task each 100 miliseconds
timer.setRepeats(true);
timer.start();
答案 2 :(得分:1)
请记住,5000是5000毫秒,1000毫秒等于1秒。
`javax.swing.Timer
final Timer updater = new Timer(5000, new ActionListener() {
public void actionPerformed(ActionEvent e)
{
// update JTextField
}
});
JButton button = new JButton("Start");
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
updater.start();
}
});`