Ich studiere Java Swing und ich habe einige Fragen zu diesem einfachen Code -Tutorial, das ich lese: < /p>
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);
}
});
}
}
Die Logik ist ziemlich einfach: Ich habe eine
Simplexample Klasse, die von
JFrame Swing -Klasse erbt. Ein
Simplexample ist also ein Toplevel -Behälter.
Code: Select all
SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
SimpleExample ex = new SimpleExample();
ex.setVisible(true);
}
});
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?
Ich studiere Java Swing und ich habe einige Fragen zu diesem einfachen Code -Tutorial, das ich lese: < /p>
[code]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]
Die Logik ist ziemlich einfach: Ich habe eine [b] Simplexample [/b] Klasse, die von [b] JFrame [/b] Swing -Klasse erbt. Ein [b] Simplexample [/b] ist also ein Toplevel -Behälter.[code]SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
SimpleExample ex = new SimpleExample();
ex.setVisible(true);
}
});
[/code]
Es ruft die Methode [b] Invokelater () [/b] in der Swingutilities -Klasse auf und [url=viewtopic.php?t=23808]übergeben[/url] 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?