我正在处理一个项目,我希望在按下按钮时出现一个矩形。但是,我想通过将按钮单击定向到另一个类来做到这一点。这是我尝试过的:
这是我的第一堂课,“ Main”
static boolean btnClicked = false;
@Override
public void start(Stage primaryStage) {
Button btn = new Button("Make Popup Visible");
Rectangle menu = new Rectangle(40,40,200,200);
menu.setFill(Color.BLACK);
menu.setOpacity(0);
btn.addEventHandler(MouseEvent.MOUSE_CLICKED,(MouseEvent e) ->{
AddRect.showMenu();
});
if(btnClicked == true) {
menu.setOpacity(1);
}
Group root = new Group();
root.getChildren().addAll(btn, menu);
Scene scene = new Scene(root,400,400);
scene.getStylesheets().add(getClass().getResource("application.css").toExternalForm());
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
还有我的第二堂课“ AddRect”
public class AddRect {
static void showMenu() {
Main.btnClicked = true;
}
}
但是,这不起作用,我也不知道为什么。有人可以帮我吗?我什至不知道这是否是最好的方法(使用两个类),但是如果有更好的方法,请告诉我。预先感谢!
答案 0 :(得分:0)
我知道了!我只需要在EventHandler中移动条件
btn.addEventHandler(MouseEvent.MOUSE_CLICKED,(MouseEvent e) ->{
AddRect.showMenu();
if(btnClicked == true) {
menu.setOpacity(1);
}
});