我试图在一个框架内制作一个简单的按钮,但是按钮图标没有正确显示我的问题是为什么?
2.)也为什么我们不能放
wingUtilities.invokeLater(new Runnable() {
在SwingDemo()内部,或者public void actionPerformed(ActionEvent ae)
3.)哪个语句使edt线程?
请尝试用简单的术语解释否则会有更多的疑惑。
public void run() {
new SwingDemo();
}
});
import javax.swing.*;
import java.awt.event.*;
class SwingDemo implements ActionListener {
SwingDemo() {
JFrame jfrm = new JFrame("A Simple Swing Application");
jfrm.setSize(275, 100);
jfrm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton jlab = new JButton(" Button ");
jfrm.add(jlab);
jfrm.setVisible(true);
}
public static void main(String args[]) {
SwingUtilities.invokeLater(new Runnable() { //2
public void run() {
new SwingDemo();
}
});
}
public void actionPerformed(ActionEvent ae) {
//jlab.setText("You selected " + ae.getActionCommand());
//showStatus("You selected " + ae.getActionCommand());
} }
答案 0 :(得分:0)
在应用程序的初始阶段对SwingUtilities.invokeLater(...)
的调用,以便在事件调度线程中创建UI。它需要在之前发生构造函数或应用程序中的任何后续方法。创建的线程称为initial thread。