0

我试图在框架内制作一个简单的按钮,但按钮图标未正确显示我的问题是为什么?2.) 为什么我们不能把 S 放在 SwingDemo() 或 public void actionPerformed(ActionEvent ae) 3.) 哪个语句使 edt 线程?请尽量用简单的语言解释,否则会产生更多的疑问。wingUtilities.invokeLater(new Runnable() {
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());

} }

4

1 回答 1

0

在应用程序的初始阶段对其进行调用,SwingUtilities.invokeLater(...)以便在事件调度线程中创建 UI。它需要在调用应用程序中的构造函数或任何后续方法之前发生。创建的线程称为初始线程

于 2013-04-06T17:02:42.837 回答