[英]Change the property of a rectangle by using another class JavaFX
我正在做一個項目,我希望在按下按鈕時出現一個矩形。 但是,我想通過將按鈕單擊指向不同的 class 來執行此操作。 這是我嘗試過的:
這是我的第一個 class,“主要”
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);
}
還有我的第二個 class,“AddRect”
public class AddRect {
static void showMenu() {
Main.btnClicked = true;
}
}
但是,這不起作用,我不知道為什么。 有人可以幫助我嗎? 我什至不知道這是否是最好的方法(使用兩個類),但如果有更好的方法,請告訴我。 提前致謝!
我想到了! 我只需要在 EventHandler 中移動條件
btn.addEventHandler(MouseEvent.MOUSE_CLICKED,(MouseEvent e) ->{
AddRect.showMenu();
if(btnClicked == true) {
menu.setOpacity(1);
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.