назад, когда я использовал свинг я смог в состоянии сделать что-то вроде этого ..Как вызвать SWT GUI из другого класса?
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
gui = new GUI();
gui.setVisible(true);
}
}
Теперь я использую SWT, и я пытаюсь создать графический интерфейс пользователя, используя тот же способ. Либо gui не появится, или gui замерзнет. Я пытаюсь назвать это из другого класса, потому что я разрабатываю это как модуль для всего приложения.
Это, как я пытался до сих пор ..
gui = new GUI();
gui.open();
Я также попытался с вышеупомянутыми скобками, но у меня не было никакой удачи.
Вот графический интерфейс класс
package org.eclipse.swt.snippets;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
public class GUI {
protected Shell shell;
/**
* Launch the application.
* @param args
*/
public static void main(String[] args) {
try {
GUI window = new GUI();
window.open();
} catch (Exception e) {
e.printStackTrace();
}
}
/**
* Open the window.
*/
public void open() {
Display display = Display.getDefault();
createContents();
shell.open();
shell.layout();
while (!shell.isDisposed()) {
if (!display.readAndDispatch()) {
display.sleep();
}
}
}
/**
* Create contents of the window.
*/
protected void createContents() {
shell = new Shell();
shell.setSize(450, 300);
shell.setText("SWT Application");
}
}
Я попытался отредактировать класс графического интерфейса, чтобы сформировать конструктор, но до сих пор нет удачи
Простите, но кто-нибудь получил правильное рабочее решение? Я новичок в SWT, не могу понять, что это ... Я пытаюсь запустить графический интерфейс из класса контроллера ... [Да, я начну свой собственный вопрос, если никто не ответит, или если я не найдут ответа здесь] – user1628658
FWIW: Мой рабочий код существует здесь (было написано довольно давно) https://github.com/Sovietaced/Avior/blob/master/src/view/Gui. java – Sovietaced