【问题标题】:how can I handle 2 actions on a button?如何处理按钮上的 2 个操作?
【发布时间】:2019-05-27 12:00:38
【问题描述】:

我在问自己是否可以使用 java fx 的按钮来处理 2 次点击。就像第一次调用函数一样,第二次单击将停止它。例如,我有一个代码,其中一个按钮在 lineChart 上调用一个标记,但我想在激活它后单击一次时使用同一个按钮禁用它。

【问题讨论】:

  • 您可以为按钮维护一个全局标志状态,并在点击采取相应操作时切换它。
  • @AmitD 你认为我需要一个全局布尔值吗?
  • 是的,您可以使用布尔值。关于标志的范围,全局可以工作,但如果您可以根据您的用例缩小范围,那将是可取的。
  • 我会试试的,谢谢。 1 周前我已经尝试过类似的操作,但是当我将布尔值变为 false 时,我没有成功将其变为 true

标签: java button javafx


【解决方案1】:

正如 AmitD 已经说过的,您需要保持某种持久性,例如全局范围的标志。 然后,当您按下按钮时,检查标志,执行所需的功能并切换标志。

// in a scope higher than your action listener
boolean flag = false;

// code...

// action listener of your button:
if(flag){
    functionA();
} else {
    functionB();
}
flag = !flag;    

【讨论】:

  • 全局范围的标志可能是布尔值?
  • 如果您的按钮应该是经典的切换按钮,那么可以。如果您的按钮应该有多个状态,请使用 int。
  • 我用一些代码更新了我的答案,以使其更容易理解
猜你喜欢
  • 2017-05-13
  • 1970-01-01
  • 2018-05-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-02
  • 1970-01-01
相关资源
最近更新 更多