Проблема с созданием второй сцены / сцены в JavaFX - PullRequest
0 голосов
/ 05 июля 2018

У меня были проблемы с генерацией второго этапа / сцены в моей программе. У меня есть первая сцена / сцена, которая генерируется при запуске, отлично работает с рабочей кнопкой. Он находится в своем собственном классе и выполняется в начале.

Далее в программе у меня есть метод, с которого я надеялся запустить мой следующий этап. Я создал еще один класс ниже для генерации второго этапа и поместил конструктор в этот метод. Когда метод выполняется, сцена создается, но сцена ничего не показывает, только сцена с правильным заголовком. Я пытался добавить простые кнопки, надписи с текстом, но ничего не показывает. Не совсем уверен, в чем может быть причина, но, немного поиграв, я решил попросить вас, ребята, о помощи. Учитывая мои ограниченные знания JavaFX, мне было интересно, вызывает ли первый этап проблемы для второго? Я оставляю это открытым и работающим, я должен закрыть это прежде, чем эта секунда выполняется? Или есть лучший способ создать второй этап, не создавая совершенно новый класс? Возможно ли создание класса SecondScene?

Дайте мне знать, спасибо!

РЕДАКТИРОВАТЬ: теперь я добавил обработчик исключений во время выполнения, и он вызывает исключение во время выполнения при создании этого класса. Я все еще немного новичок в Java, означает ли это, что проблема заключается в классе, который я создал? Или это может быть что-то ранее в коде? Мне все еще не удалось заставить простой класс эффективно создавать внутри этой программы, поэтому я не могу создать здесь минимальный уровень функциональности, но, по мнению других людей, код работает, когда он сам по себе.

public SecondScene() {

    Thread t = new Thread(new adminThread());
      t.setUncaughtExceptionHandler(new Thread.UncaughtExceptionHandler() {

         public void uncaughtException(Thread t, Throwable e) {
            System.out.println(t + " throws exception: " + e);
         }
      });
      // this will call run() function
      t.start();

    Text textOutput = new Text(textToDisplay);
    BorderPane borderPane = new BorderPane(textOutput);
    Scene secondScene = new Scene(borderPane, 400, 600);

    // New window (Stage)
    Stage secondWindow = new Stage();
    secondWindow.setTitle("Second Window");
    secondWindow.setScene(secondScene);

    secondWindow.show();
}

    public void setRunningText(String text){
        this.textToDisplay = text;
    }

}

класс adminThread реализует Runnable {

   public void run() {
      throw new RuntimeException();
   }
} 
...