Это мой основной класс, в котором run (), я вызываю другой метод install setup (), который предназначен для exe-файлов.
public static void main(String[] args) {
launch(args);
}
public void startSetup() {
Runnable task=new Runnable() {
@Override
public void run() {
try {
Thread.sleep(1000);
installSetup();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
};
Thread thread=new Thread(task);
thread.start();
}
Вот мой метод installsetup ()
public void installSetup() {
try {
Runtime.getRuntime().exec("cmd /c C:path\\setup.exe", null, new File("C:pathfolder\\01_Setupexe"));
//process.waitFor();
} catch (IOException e) {
e.printStackTrace();
}
};
Я вызываю его в своем классе контроллера следующим образом:
public class Controller extends Thread {
@FXML
private ComboBox<?> dsetup;
public void generateRandom() {
if(dsetup.getValue()!=null) dsetupValue = dsetup.getValue().toString();
if(dsetupValue!=null)call.startSetup();
Прежде чем я просто вызывал установочные файлы с помощью метода exec, но не с концепцией потоков, приложение работало нормально, ноон выполнял все файлы ..exe одновременно, и мой интерфейс зависал.Поэтому сейчас я использую концепцию потоков и пытаюсь реализовать один поток за раз.Я не понимаю, если это неправильный путь или нет, но я не получаю никакой ошибки в консоли.