2015-03-12 19 views
1

Есть несколько вопросов о том, как открыть новое окно при нажатии кнопки, но я хотел бы открыть два окна при запуске приложения.JavaFX - открытие нескольких окон при запуске приложения

Мой текущий подход должен поместить следующий код в новом классе, который функционирует как контроллер нового окна:

FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("secondWindow.fxml")); 
     fxmlLoader.setController(this); 
     try { 
      parent = (Parent) fxmlLoader.load(); 
      scene = new Scene(parent, 500, 400); 
      stage = new Stage(scene); 
      stage.show(); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 

Это прекрасно работает для кнопок или отверстий окон на основе событий, Ищу для одновременного запуска двух окон. Поэтому я хочу, чтобы запустил мое второе окно из класса с основным методом.

В этом классе вы можете найти первое окно быть запущен с помощью этого кода:

Parent root = FXMLLoader.load(getClass().getResource("FXMLDocument.fxml")); 

     Scene scene = new Scene(root); 

     stage.setScene(scene); 
     stage.show(); 

справа внизу я хотел бы добавить код для запуска второго окна. Я пробовал:

Parent secondRoot = FXMLLoader.load(getClass().getResource("secondWindow.fxml")); 
     Scene secondScene = new Scene(secondRoot); 
     Stage secondStage = new Stage(); 
     secondStage.setScene(secondScene); 
     secondStage.show(); 

для моего понимания должен это делать, но он дает следующее сообщение об ошибке:

java.lang.NoSuchMethodException: monopolybank.SecondWindowController.<init>() 
    at java.lang.Class.getConstructor0(Class.java:2971) 
    at java.lang.Class.newInstance(Class.java:403) 

Как я могу исправить мой подход или каковы альтернативы, чтобы получить тот же результат?

ответ

2

Ваша проблема не имеет ничего общего с количеством окон и все, что связано с конструктором с параметрами, которые вы добавили в созданный вами монопольный банк. Созданный вами класс => удалить конструктор из этого класса.

+0

Danget, что было слишком легко, спасибо за быстрый ответ ... – Maverick283

Смежные вопросы