Метод SwingUtility.invokelater () в программе свинга JavaJAVA

Программисты JAVA общаются здесь
Anonymous
Метод SwingUtility.invokelater () в программе свинга Java

Сообщение Anonymous »

Я изучаю Java Swing, и у меня есть несколько вопросов, связанных с этим простым учебником, который я читаю: < /p>

Код: Выделить всё

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);
}
});
}
}
Логика довольно проста: у меня есть класс SimpleExample , который наследует от jframe качания. So a SimpleExample will be a toplevel container.
This class contain also the main() method and now I have 2 doubts:
1) Why in the main() method is execute this code:

Код: Выделить всё

SwingUtilities.invokeLater(new Runnable() {
@Override
public void run() {
SimpleExample ex = new SimpleExample();
ex.setVisible(true);
}
});
Это вызывает метод invokelater () в классе SwingUtilities и передает ему новый запущенный ocect. Он используется для обеспечения того, чтобы все обновления пользовательского интерфейса были согласованы параллелизмом.new Runnable() {
@Override
public void run() {
SimpleExample ex = new SimpleExample();
ex.setVisible(true);
}
});
< /code>
Что это за вещи? Что это представляет? и как это работает?

Подробнее здесь: https://stackoverflow.com/questions/190 ... ng-program

Вернуться в «JAVA»