基础的代码应该这样写
import javax.swing.*;
import java.util.concurrent.*;
public class SwingAplay {
public static void main(String[] args) throws Exception {
JFrame frame = new JFrame("Hollow Swing");
//Swing 应用大部分被构建在JFrame内部,需要创建一个JFrame对象来实现Swing功能
final JLabel lable = new JLabel("a lable");
//后面匿名内部类对其有引用,必须为final;
frame.add(lable);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//setDefaultCloseOperation()告诉JFrame当用户点关闭按钮时应该怎么做
//JFrame.EXIT_ON_CLOSE常量告诉它要退出程序
frame.setSize(800,600);
//设置大小
frame.setVisible(true);
//使JFrame可视
TimeUnit.SECONDS.sleep(1);
SwingUtilities.invokeLater(new Runnable(){
public void run(){
lable.setText("Hey,This is Different");
}
});
}
}
但为了避免冲突,所有代码都应通过SwingUtilities.invokeLater()提交,所以应该这样:
当然,为了减少重复代码,前辈们通常写一个框架,我也就模仿着写了: