Die Swingutilities.invokelater () -Methode in einem Java -Swing -Programm
Posted: 22 Aug 2025, 07:05
Ich studiere Java Swing und ich habe einige Fragen zu diesem einfachen Code -Tutorial, das ich lese: < /p>
Die Logik ist ziemlich einfach: Ich habe eine Simplexample Klasse, die von JFrame Swing -Klasse erbt. Ein Simplexample ist also ein Toplevel -Behälter.
Es ruft die Methode Invokelater () in der Swingutilities -Klasse auf und übergeben Sie ein neues Runnable -Oject. Es wird verwendet, um sicherzustellen, dass alle UI-Updates gleichzeitig sicher sind.new Runnable() {
@Override
public void run() {
SimpleExample ex = new SimpleExample();
ex.setVisible(true);
}
});
< /code>
Was ist das dieses Zeug? Was repräsentiert es? Und wie funktioniert es?
Code: Select all
package com.andrea.execute;
import javax.swing.JFrame;
import javax.swing.SwingUtilities;
/* An istance of a SimpleExample class is a JFrame object: a top level container */
public class SimpleExample extends JFrame {
/* Create a new SimpleExample object (that is a JFrame object) and set some property */
public SimpleExample() {
setTitle("Simple example");
setSize(300, 200);
setLocationRelativeTo(null); // Center the window on the screen.
setDefaultCloseOperation(EXIT_ON_CLOSE);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
SimpleExample ex = new SimpleExample();
ex.setVisible(true);
}
});
}
}
Code: Select all
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
SimpleExample ex = new SimpleExample();
ex.setVisible(true);
}
});
@Override
public void run() {
SimpleExample ex = new SimpleExample();
ex.setVisible(true);
}
});
< /code>
Was ist das dieses Zeug? Was repräsentiert es? Und wie funktioniert es?