【问题标题】:change cinema seat color in javafx on every click每次点击时在 javafx 中更改电影院座位颜色
【发布时间】:2018-12-25 19:52:39
【问题描述】:

我正在 JavaFX 中制作电影院座位预订系统。我将按钮用作座位。

我想在点击时改变它的颜色,这意味着座位被选中,并在再次按下时将它的颜色恢复为原始颜色,这意味着座位被取消。

我附上了代码示例,其中按钮的原始颜色为蓝色,单击时将其颜色更改为红色,但我还想在再次单击时将其颜色更改回蓝色

button.setOnAction(event -> {        
       button.setStyle("-fx-background-color: Red");    
});

【问题讨论】:

    标签: java javafx


    【解决方案1】:

    每次调用setOnAction 时,您应该检查当前样式是否为“红色”,如果是,请将其更改为“蓝色”,否则如果当前样式为“蓝色”,请将其更改为“红色”

    在代码中,它看起来像:

    button.setOnAction(event -> {
         if("-fx-background-color: Red".equals(button.getStyle())){          
             button.setStyle("-fx-background-color: Blue");    
         }else{
             button.setStyle("-fx-background-color: Red");  
         }
    });
    

    【讨论】:

    • 成功了!!!我想将该座位号添加到一个arraylink,当它被选中(变成红色)和取消选择它(当变成蓝色时)我想从arraylink中删除那个座位号。我希望你也能在这里帮助我。
    • @irfan 看起来很简单,查看ArrayList 类中的addremove 方法。一旦理解了,想一想对列表的 add 调用是否应该放在 ifelse 块内,相反,remove 调用是否应该放在 ifelse 块内?您应该尝试理解代码,因为这是最好的学习方式。祝你好运。
    猜你喜欢
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-15
    • 2012-12-06
    • 2021-10-08
    • 1970-01-01
    相关资源
    最近更新 更多