今回のアプリの仕様は3画面ほど作りまして、[前へ]ボタンと[次へ]ボタンで双方向に遷移できます。シンプルすぎて役に立たないアプリが完成しました。

↑ ↓

↑ ↓

さて、プログラムの構成はこんな感じです。
JDKは古いバージョンだとJavaFXは使えないので注意です。

今回はFXMLを使っていまして、ビューとコントローラは1対1になるようにしてます。
【Mainクラス】
public class Main extends Application {
private static Stage stage;
@Override
public void start(Stage stage) throws Exception {
Main.stage = stage;
changeView("View0101.fxml");
Main.stage.show();
}
public static void main(String[] args) {
launch(args);
}
public void changeView(String fxml) {
try {
stage.setScene(new Scene(FXMLLoader.load(getClass().getResource(fxml))));
} catch (IOException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
画面遷移するにはStageに紐づいているFXMLファイルを切り替えてあげればいいだけでした。コントローラから画面遷移できるようにしたいので、ChangeViewメソッドを作成し、引数には遷移対象のFXMLのファイル名としました。
【Controller0101〜Controller0103クラス】の抜粋
@FXML
private void nextButtonAction(ActionEvent event) {
new Main().changeView("View0102.fxml");
}
ChangeViewの呼び出しはこんな感じになりました。
改善の余地がありそうですが、一旦完成です。
0 件のコメント:
コメントを投稿