ただいま画面遷移の練習をしています。
下記に記述したコード1単体だと
『スタート』を押すと『タイトルに戻る』に遷移され、画面遷移がしっかりと出来ているのですが、コード1とコード2を合わせて作ろうと思うとうまくいきません。
具体的には、『スタート』を押した時に画面が切り替わってラベルや『ルール説明』のボタンが消えて『タイトルに戻る』ボタンだけが表示されるようにしたいです。
どのようにしたらそのように出来るか教えてください。
よろしくお願い致します。
Java
1コード1 2import javafx.application.Application; 3import javafx.event.ActionEvent; 4import javafx.event.EventHandler; 5import javafx.scene.Scene; 6import javafx.scene.control.Button; 7import javafx.scene.layout.BorderPane; 8import javafx.scene.layout.StackPane; 9import javafx.stage.Stage; 10 11 public class cord1 extends Application { 12 public static void main(String[] args) 13 { 14 launch(args); 15 } 16 17 @Override 18 public void start(Stage stage) throws Exception { 19 20 final BorderPane MC = new BorderPane(); 21 Button next = new Button("スタート"); 22 MC.setCenter(next); 23 24 final BorderPane MCZ = new BorderPane(); 25 Button prev = new Button("タイトルに戻る"); 26 MCZ.setCenter(prev); 27 MCZ.setVisible(false); 28 29 StackPane root = new StackPane(); 30 root.getChildren().add(MC); 31 root.getChildren().add(MCZ); 32 33 next.setOnAction(new EventHandler<ActionEvent>() { 34 35 @Override 36 public void handle(ActionEvent event) { 37 MC.setVisible(false); 38 MCZ.setVisible(true); 39 } 40 }); 41 42 prev.setOnAction(new EventHandler<ActionEvent>() { 43 44 @Override 45 public void handle(ActionEvent event) { 46 MC.setVisible(true); 47 MCZ.setVisible(false); 48 } 49 }); 50 51 Scene scene = new Scene(root, 400, 300); 52 stage.setScene(scene); 53 stage.setTitle("画面遷移"); 54 stage.show(); 55 } 56 } 57 58コード2 59import javafx.application.Application; 60import javafx.event.ActionEvent; 61import javafx.event.EventHandler; 62import javafx.scene.Scene; 63import javafx.scene.control.Alert; 64import javafx.scene.control.Button; 65import javafx.scene.control.Label; 66import javafx.scene.layout.BorderPane; 67import javafx.scene.layout.Pane; 68import javafx.stage.Stage; 69 70public class cord2 extends Application{ 71 72 private Label lb; 73 private Button bt1, bt2; 74 75 public static void main(String[] args) 76 { 77 launch(args); 78 } 79 80 @Override 81 public void start(Stage stage) throws Exception { 82 // TODO 自動生成されたメソッド・スタブ 83 84 lb = new Label("画面遷移"); 85 bt1 = new Button("ルール説明"); 86 Button bt2 = new Button("スタート"); 87 88 BorderPane bp = new BorderPane(); 89 90 bp.setTop(lb); 91 bp.setBottom(bt1); 92 bp.setCenter(bt2); 93 94 95 bt1.setOnAction(new SampleEventHandler()); 96 97 Scene sc = new Scene(bp, 400, 300); 98 99 stage.setScene(sc); 100 stage.setTitle("画面遷移"); 101 stage.show(); 102 } 103 104 class SampleEventHandler implements 105 EventHandler<ActionEvent> 106 { 107 public void handle(ActionEvent e) 108 { 109 Alert al = new Alert(Alert.AlertType.INFORMATION); 110 al.setTitle("ルール説明"); 111 al.getDialogPane() 112 .setHeaderText("ルール説明"); 113 al.show(); 114 115} 116} 117}
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。