Я создаю приложение JavaFX, которое имеет основную стадию, а затем вызывает другие методы для создания подокон (также этапов). Это отлично работает. Но кнопка закрытия подокна не работает, и я должен закрыть окно, используя «X» в правом верхнем углу.
Похоже, что обработчик событий вообще не вызывается.
Основной фрагмент из подокна ниже:
Извинения за форматирование - похоже, не переводится должным образом.
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.StackPane;
import javafx.scene.layout.VBox;
import javafx.scene.text.Font;
import javafx.stage.Stage;
import javafx.scene.layout.FlowPane;
import javafx.scene.control.Button;
import javafx.geometry.Pos;
import javafx.scene.text.TextAlignment;
import javafx.stage.Modality;
/**
* Provides a Treasury Report & displays balances until a Button is pressed
*
* @author (your name)
* @version (a version number or a date)
*/
public class TreasuryReport extends Stage
{
/**
* Constructor for objects of class TreasuryReport
*/
public void ShowTreasuryReport(int acBalance, int mthCosts, int swissAcc)
{
Stage treasuryStage = new Stage();
treasuryStage.setTitle("Treasury Report");
treasuryStage.initModality(Modality.WINDOW_MODAL);
int absBalance = acBalance;
Button closeButton = new Button ("Close Report");
Есть другие биты, где я создаю метку, которая отображается
VBox layout1 = new VBox(20);
layout1.setAlignment(Pos.CENTER);
layout1.getChildren().addAll(label1, closeButton);
Scene TRScene = new Scene(layout1, 300, 250);
treasuryStage.setScene(TRScene);
treasuryStage.showAndWait();
closeButton.setOnAction(new EventHandler<ActionEvent>()
{
public void handle(ActionEvent e) {
System.out.println("TR button pressed");
treasuryStage.hide();
treasuryStage.close();
}
});
}
Я перепробовал много разных опций, но ничего не работает
Кажется, что кнопка даже не переходит к обработчику событий, так как оператор println не генерируется.
Я провел много бесплодных часов, читая различные варианты.
Вся помощь с благодарностью получена.