JavaFX-从另一个类修改Stage/Node的静态方法是好的还是坏的实践?
从另一个类关闭登录窗口JavaFX-从另一个类修改Stage/Node的静态方法是好的还是坏的实践?,java,javafx,Java,Javafx,从另一个类关闭登录窗口 public class Login{ public static Login instance; public static LoginButton; public Login(){ instance = this; LoginButton = new Button("Log In"); } public static void closeLogin(){ instance.get
public class Login{
public static Login instance;
public static LoginButton;
public Login(){
instance = this;
LoginButton = new Button("Log In");
}
public static void closeLogin(){
instance.getStage().dispose();
}
public class AnotherClass{
private Button button;
public AnotherClass(){
button = new Button("Close Login");
button.setOnAction(new EventHandler() {
public void handle(Event e) {
Login.closeLogin(); // close the Login Window
Login.disableButton(); // disable Button from Login Window
}
});
}
}
//修改按钮
public static disableButton(){
LoginButton.disable(true);
}
}
}
//从另一个类触发closeLogin()和disableButton()
public class Login{
public static Login instance;
public static LoginButton;
public Login(){
instance = this;
LoginButton = new Button("Log In");
}
public static void closeLogin(){
instance.getStage().dispose();
}
public class AnotherClass{
private Button button;
public AnotherClass(){
button = new Button("Close Login");
button.setOnAction(new EventHandler() {
public void handle(Event e) {
Login.closeLogin(); // close the Login Window
Login.disableButton(); // disable Button from Login Window
}
});
}
}
这种方法是一种好的做法吗
如果没有,你能给我一些代码怎么做。不太可能。使用某种类型的DI框架——注入一个单例实例。使用某种类型的DI框架——注入一个单例实例。