如何在 Java 中為 SwingUtilities.invokeLater 編寫 lambda 表示式程式碼?
在名為事件分派執行緒(EDT)的特殊執行緒上執行的事件處理程式碼。呼叫 Swing 方法的大部分程式碼也會在此EDT執行緒上執行。有必要這樣做,因為大部分 Swing 物件方法不是執行緒安全的。SwingUtilities是一個實用程式類,並有一個重要的靜態方法,invokeLater()。此方法可用於在 AWT 事件分派執行緒中非同步執行任務。
語法
public static void invokeLater(Runnable doRun)
示例
import javax.swing.*;
public class InvokeLAterLambdaTest {
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> { // lambda expression code
JFrame frame = new JFrame();
frame.setTitle("InvokeLater Lambda Test");
frame.getContentPane().add(new JLabel("Welcome to Tutorials Point", SwingConstants.CENTER));
frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
frame.setSize(375, 250);
frame.setLocationRelativeTo(null);
frame.setVisible(true);
}); // end of lambda
}
}輸出
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP