回答
如果您在每个固定的时间段更改它,那么您可以使用Swing Timer或Thread来执行此操作。但为此,您必须至少听取一个动作,以便您可以初始化并启动它。
您还可以使用TimerTask类java.util中类似如下:
java.util.TimerTask timerTask = new java.util.TimerTask() {
@Override
public void run() {
//change button text here using button.setText("newText"); method
}
};
java.util.Timer myTimer = new java.util.Timer();
myTimer.schedule(timerTask, 3 * 1000, 3* 1000); // This will start timer task after 3 seconds and repeat it on every 3 seconds.
所以每当我想要的时间到了,我需要重绘或只是setText –
@Mehmet:只是'setText(newStr)'应该工作。 –
非常感谢,这是我需要的。 –
如果您想定期更改它(例如每隔5秒),您可以创建一个新的线程,将该按钮的文本设置为所需的值并重新绘制它(如果需要)。
我建议你创建一个定时器(here你可以找到一些DOC)
Timer timer = new Timer(100,this);
你的类必须扩展动作侦听器ed实现了以下方法,允许您更改您的JButton
(我称之为“按钮)的文本。
public void actionPerformed(ActionEvent e) {
if(e.getSource.equals(timer)){
button.setText("newText");
}
}
卢卡
在摇摆的所有定期活动中,我只建议javax.swing.Timer
使用Timer应,例如输出
import java.awt.Color;
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.Random;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.Timer;
public class CrazyButtonTimer {
private JFrame frame = new JFrame(" Crazy Button Timer");
private JButton b = new JButton("Crazy Colored Button");
private Random random;
public CrazyButtonTimer() {
b.setPreferredSize(new Dimension(250, 35));
frame.getContentPane().add(b);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.pack();
frame.setLocationRelativeTo(null);
frame.setVisible(true);
javax.swing.Timer timer = new Timer(500, new TimerListener());
timer.setInitialDelay(250);
timer.start();
}
private class TimerListener implements ActionListener {
private TimerListener() {
}
@Override
public void actionPerformed(final ActionEvent e) {
Color c = b.getForeground();
if (c == Color.red) {
b.setForeground(Color.blue);
} else {
b.setForeground(Color.red);
}
}
}
public static void main(final String[] args) {
java.awt.EventQueue.invokeLater(new Runnable() {
@Override
public void run() {
CrazyButtonTimer crazyButtonTimer = new CrazyButtonTimer();
}
});
}
}
+1使用摆动计时器。 – mre
所有其他的答案没有提到如何更新非周期性。如果你需要它不规则地更新,你可以在你的GUI类中创建一个类似下面的方法:updateButton();每当你想要改变你的文字时就打电话给他。
public void updateButton(String newText)
{
Button.setText(newText);
}
只是想我会添加这个以防万一有人想不规则地设置它。
- 1. jbutton更改文本字段的文本
- 2. 单击时更改JButton文本
- 3. JButton需要更改JTextfield文本
- 4. 如何更改JButton中的文本
- 5. 如何更改JButton的文本颜色
- 6. 通过自定义(金属)主题更改JButton(,...)文本颜色
- 7. 更改的JButton
- 8. JButton更改文本字段的文本颜色
- 9. 更改标签文本定期的Javascript
- 10. 更改尺寸JButton
- 11. 当Jslider的值从JButton定期更改时,Jslider不能打勾
- 12. 如何更改特定JButton的颜色
- 13. 更改JButton对象上文本的颜色
- 14. 单击JButton时更改标签的文本java
- 15. 如何通过单击我的JButton来更改JLabel文本?
- 16. 更改一个JLabel文本的同时,JButton的监听工作
- 17. 如何更改JButton属性?
- 18. JButton不更改字段值
- 19. 如何更改JButton大小
- 20. 按JButton后更改JPanel
- 21. 点击更改JButton ImageIcon
- 22. 更改JButton的形状
- 23. 单击Jbutton后更改JPanels
- 24. Android:定期更改自定义ListView的TextView的文本
- 25. JButton移动文本
- 26. JButton文本不变
- 27. 绘制自定义JButton和文本行
- 28. 将JButton文本绑定到属性
- 29. 将文本框文本转换为日期文本更改
- 30. 更改文本格式的日期
你的意思是说当按钮被点击时它改变它的文本?或者是什么? –
不,我想改变文本没有点击,让每隔2秒 –