如何在java中添加计时器来更改JTextPane的文本?
我正在开发一个java程序,我想实现的是,一旦加载了窗口,JTextPane中的文本集就会发生变化。我有下面创建JTextPane的代码如何在java中添加计时器来更改JTextPane的文本?,java,swing,timer,jtextpane,Java,Swing,Timer,Jtextpane,我正在开发一个java程序,我想实现的是,一旦加载了窗口,JTextPane中的文本集就会发生变化。我有下面创建JTextPane的代码 JTextPane txtpnReady = new JTextPane(); txtpnReady.setText("Ready"); txtpnReady.setEditable(false); txtpnReady.setBounds(181, 39, 169, 20); contentPa
JTextPane txtpnReady = new JTextPane();
txtpnReady.setText("Ready");
txtpnReady.setEditable(false);
txtpnReady.setBounds(181, 39, 169, 20);
contentPane.add(txtpnReady);
我不确定如何添加一个计时器来更改这个JTextPane的文本,在2秒后,我需要它在程序加载后说Ready,然后在2秒后稳定,然后在2秒后继续
谢谢。您可能想看看trail。您可以这样做:
Timer timer = new Timer(2000, new ActionListener() {
private String nextText = "Steady";
@Override
public void actionPerformed(ActionEvent e) {
txtpnReady.setText(nextText);
if(!nextText.equals("Go")) {
nextText = "Go";
} else {
((Timer)e.getSource()).stop();
}
}
});
timer.setRepeats(true);
timer.setDelay(2000);
timer.start();
离题
关于这一点:
txtpnReady.setBounds(181, 39, 169, 20);
使用setBounds()
并不是一个好的做法,因为swing应用程序必须能够在不同的平台上运行,并且具有不同的外观。您应该让布局管理器完成其工作,并避免使用setBounds()
和set(首选|最大|最小)大小
建议阅读: