如果您的项目不是太大,那么我建议创建一个Presenter
类,它可以控制舞台和程序流程,并显示许多View
类中的一个。
这是演示者类的示例:
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>
JavFX 通用回调接口。