プロジェクトが大きすぎない場合はPresenter
、ステージとプログラムの流れを制御し、多くのView
クラスの 1 つを表示するクラスを作成することをお勧めします。
これはプレゼンター クラスの例です。
class Presenter {
public void showA(Stage mainStage){
ViewA a = new ViewA();
a.setOnBackButton(new ViewCallback(){
public void call(){
showB();
}
});
mainStage.setScene(new Scene(a));
}
public void showB(Stage mainStage){
ViewB b = new ViewB();
b.setOnBackButton(new ViewCallback(){
public void call(){
showA();
}
});
mainStage.setScene(new Scene(b));
}
}
これはview
ボディの例です:
public class ViewA {
private ViewCallBack onBackButton = null;
public void setOnBackButton(ViewCallback callback){ onBackButton = callback; }
public void callBack() { if (onBackButton != null) onBackButton.call(); }
...
// somewhere in your code
Button b = new Button("shoot me!");
b.setOnAction(new EventHandler<ActionEvent>(){
public void handle(ActionEvent event){
callBack();
}
});
}
これがViewCallback
インターフェースです
public Interface ViewCallback {
public void call();
}
この単純なコールバック インターフェイスまたはCallback<P,R>
JavaFX 汎用コールバックインターフェイスを使用できます。