在Java Swing编程中,往往会遇到需要动态刷新界面的时候,例如动态刷新JLabel的文本,JTextField里的文本等等。但是往往却没有达到我们预期的效果,我相信很多朋友都遇到过本文将要说的这个问题。
如下图的Swing界面中,我们期望在点击按钮时,Jlabel和JTextField里的文本能不断的变化,并实时地显示出来。
这个例子中,我们期望点击按钮后,JLabel和JTextField中每隔一秒钟刷新一下文本,顺序的显示以下的几句文本:
Button clicked
Start to change text...
接着显示数字1到10
action end
很多人都会像下面的代码这样实现这个功能:
MainFrame.java
packagecom.longyg.test;
public class MainFrame extendsjavax.swing.JFrame {
publicMainFrame() {
initComponents();
}
@SuppressWarnings("unchecked")
//
private voidinitComponents() {
jLab