Я спрашивал себя, можно ли с помощью кнопки java fx обрабатывать 2 клика. Как и 1-й вызов функции, 2-й щелчок остановит ее. Например, у меня есть код, в котором кнопка вызывает маркер над линейным графиком, но я хочу отключить его с помощью той же кнопки, когда я нажимаю ее один раз после ее активации.
@AmitD Вы думаете, что мне понадобится глобальное логическое значение?
Да, вы можете использовать логическое значение. Что касается области действия флага, глобальная будет работать, но если вы можете ограничить ее в зависимости от вашего варианта использования, это было бы предпочтительнее.
попробую спасибо. Я уже пробовал что-то подобное 1 неделю назад, но когда я изменил логическое значение на false, мне не удалось вернуть его к истине.
Как уже сказал 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.
Я обновил свой ответ некоторым кодом, чтобы его было легче понять
вы можете поддерживать состояние глобального флага для кнопки и переключать его при щелчках, выполняя соответствующие действия.