與 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
例項配置為出現在螢幕上。