У меня есть основной класс: MyMainSDK
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
MyMainSDK frame = new MyMainSDK();
frame.setVisible(false);
System.out.println("f1");
} catch (Exception e) {
System.out.println("Error: " + e.getMessage());
e.printStackTrace();
}
System.out.println("f2");
}
});
System.out.println("f3");
}
и мой класс:
public MyMainSDK() {
/*
do something
System.out.println("do something logs");
*/
System.out.println("everything is finished");
}
Я запускаю свой java-код в пакетном файле. Это работает, что я ожидаю.
Но батник кажется не закончен. Но я вижу эти журналы:
f3
do something logs
f1
f2
как я могу это решить?
заранее спасибо
invokeLater
? Создание фрейма и его отображение приведет к тому же результату, что и вы. Что вам нужно сделать, это что-то вродеframe.setDefaultCloseOperation(EXIT_ON_CLOSE)
. - person daniu   schedule 02.10.2018invokeLater
используется с приложениями с графическим интерфейсом. Посмотрите эти сообщения, вы можете найти то, что вам нужно: Запустить задачу в фоновом режиме и выполнить фоновую задачу в Java. - person prasad_   schedule 02.10.2018