与 lambda 的窗口标题上的 Hello World

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

public class Main {
    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            JFrame frame = new JFrame("Hello World!");
            frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
            frame.setSize(200, 100);
            frame.setVisible(true);
        });
    }
}

main 方法内部:
在第一行调用 SwingUtilities.invokeLater,并将一个带有代码块 () -> {...} 的 lambda 表达式传递给它。这将执行 EDT 上传递的 lambda 表达式,它是 Event Dispatch Thread 的缩写,而不是主线程。这是必要的,因为在 lambda 表达式的代码块中,将创建和更新 Swing 组件。

在 lambda 表达式的代码块中:
在第一行,使用 new JFrame("Hello World!") 创建一个名为 frame 的新 JFrame 实例。这将创建一个带有 Hello World!的窗口实例。在它的标题。然后在第二行,frame 配置为 EXIT_ON_CLOSE。否则窗口将被关闭,但程序的执行将保持活动状态。第三行使用 setSize 方法将 frame 实例配置为宽度为 200 像素,高度为 100 像素。到目前为止,执行都不会显示任何内容。只有在第四行调用 setVisible(true) 后,才会将 frame 实例配置为出现在屏幕上。