以下は以前の私のプロジェクトのセクションです。 MenuItemは別のクラスにあり、メインではシーンを切り替えるメソッドを呼び出します。
私は2ページの選択と情報を持っていますが、どちらも独自のコンテナとシーンとスタイルシートを持っています。選択ページは、開始時に表示される最初のページで、Iスイッチ情報ページです。
settingsMenuItem.setOnAction(e -> {
e.consume();
Launcher.selectionPage();
});
私のメインクラス:彼らは(残念ながら)空になっている場合
public class Launcher extends Application {
private static FlowPane selectionPane;
private static BorderPane infoPane;
private static Scene selectionScene, infoScene;
private static Stage theStage;
private static String selectionCSS;
private static String informationCSS;
public static void main(String args[]) {
launch(args);
}
@Override
public void start(Stage primaryStage) throws Exception {
//Global reference needed to switch scenes in another method.
this.theStage = primaryStage;
//Declares resources, in this case stylesheet. Declared here to be applied in another method
selectionCSS = this.getClass().getResource("/views/SelectionStyle.css").toExternalForm();
informationCSS = this.getClass().getResource("/views/InformationStyle.css").toExternalForm();
//Initial page setup
selectionPane = new SelectionPage();
selectionScene = new Scene(selectionPane, 500, 500);
selectionScene.getStylesheets().add(selectionCSS);
//Stage setup
primaryStage.setScene(selectionScene);
primaryStage.show();
}
//Changes page
public static void informationPage(String starSign) {
infoPane = new InformationPage();
infoScene = new Scene(infoPane, 500, 270);
infoScene.getStylesheets().add(informationCSS);
theStage.setScene(infoScene);
}
}
メニューは、イベントを生成しません。おそらくあなたの最善の策は、 'HBox'(または' ToolBar')にいくつかのボタン(あるいは単にラベル?)を追加し、それらをメニューとして表示するようにスタイルを設定することです。私はあなたが望むように働かせることができなければ、それを試みて、その仕事をするあなたの試みで特定の質問を投稿することをお勧めします。 –