创建演示应用程序(步骤 1)

所有图形用户interface都需要某种主应用程序框架来显示。在 Swing 中,这是javax.swing.JFrame的实例。因此,我们的第一步是实例化此类,并确保一切正常。请注意,在 Swing 中编程时,您的 GUI 创建代码应放在事件调度线程(EDT)上。这将防止可能导致死锁的潜在 match 条件。下面的代码清单显示了如何完成此操作。

以 Swing Paint Demo 为标题的空 JFrame 的图

javax.swing.JFrame 的实例

单击启动按钮以使用Java™Web 开始(下载 JDK 7 或更高版本)运行 SwingPaintDemo1.另外,要自己编译和运行示例,请查阅example index

package painting;

import javax.swing.SwingUtilities;
import javax.swing.JFrame;

public class SwingPaintDemo1 {
    
    public static void main(String[] args) {
        SwingUtilities.invokeLater(new Runnable() {
            public void run() {
                createAndShowGUI();
            }
        });
    }
    
    private static void createAndShowGUI() {
        System.out.println("Created GUI on EDT? "+
                SwingUtilities.isEventDispatchThread());
        JFrame f = new JFrame("Swing Paint Demo");
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setSize(250,250);
        f.setVisible(true);
    }
}

这将创建框架,设置其标题,并使所有内容可见。我们已使用SwingUtilities helper 类在事件调度线程上构造此 GUI。请注意,默认情况下,当用户单击其“关闭”按钮时,JFrame不会退出应用程序。我们通过调用setDefaultCloseOperation方法并传入适当的参数来提供此行为。另外,我们明确地将帧的大小设置为 250 x 250 像素。一旦我们开始向框架中添加组件,就不需要此步骤。

Exercises:

  • 编译并运行该应用程序。

  • 测试最小化和最大化按钮。

  • 单击关闭按钮(应用程序应退出.)