Мне нужна кнопка, которая при нажатии включает все остальные кнопки и изменяет имя метки с «Выкл.» На «Вкл.», А при повторном нажатии отключает все кнопки и переключает переключатель в положение «выключено», назад, как переключатель включения/выключения. Дело в том, что я могу «включить его», но я не могу его отменить.Как сделать кнопку включения/выключения на java?
ответ
Если Swing, то, возможно, вам захочется поместить кнопки, которые вы хотите контролировать, в массив или ArrayList<AbstractButton>
. Таким образом, ActionListener кнопки управления может просто перебирать массив или коллекцию с циклом for, вызывая setEnabled(true)
или false на кнопках. Рассмотрите возможность создания кнопки управления JCheckBox или JToggleButton.
Обратите внимание, что если вы используете JToggleButton, добавьте к нему ItemListener. Если вы это сделаете, нет необходимости использовать логические значения. Просто проверьте состояние ItemEvent, переданного в метод itemStateChanged элемента ItemListener. Если getStateChanged()
возвращает ItemEvent.SELECTED, то итерация через вашу коллекцию JButton включает все кнопки. Если он возвращает ItemEvent.DESELECTED, сделайте противоположное.
Также обратите внимание, как на комментарий Байрона Хокинса:
Вы можете считать, что
ItemListener
будет получать события, когда кнопка программно переключается, а также когда пользователь переключает кнопку.ActionListener
запускается только при вводе пользователем. У меня часто были ошибки, потому что я выбрал неправильный.
Также рассмотрим 'ButtonGroup'' JToggelButton', увиденный здесь (http://stackoverflow.com/a/6036048/230513). – trashgod
Возможно, вам захочется рассмотреть, что 'ItemListener 'будет получать события, когда кнопка _programmatically_ переключается, а также когда _user_ переключает кнопку. «ActionListener» запускается только при вводе пользователем. У меня часто были ошибки, потому что я выбрал неправильный. –
@ByronHawkins: очень хороший момент, спасибо! Если вы не возражаете, я добавлю это к ответу. –
Если кнопка нажата и не выскочит обратно, скорее всего, вы переопределить метод в JToggleButton
без вызова версии этого super
«s. Вместо переопределения методов создайте ActionListener
и используйте addActionListener()
для прикрепления к кнопке. Когда ваш слушатель уведомляется о действиях кнопок, проверьте, находится ли кнопка переключения вверх или вниз и setEnabled()
на других кнопках соответственно.
попытаться использовать этот простой код, используйте переменную как флаг
public int status = 0; //0 = on, 1=off
public void button_clicked()
{
//on button clicked
if(status == 0)
{
//logic here
status = 1;
buttonname.setText("Off");
}
//off button clicked
else if(status == 1)
{
//logic here
status = 0;
buttonname.setText("On");
}
}
вам необходимо логическое значение для представления состояния кнопки.
Другими словами, когда ваша кнопка выключена (ваша логическая переменная ложна), из вашего слушателя onClick вы вызовете метод «turnButtonOn()» или что-то в этом роде.
Если булева переменная истинна, то вы будете вызывать метод turnButtonOff()
public void onClick() {
if(buttonOn){
turnOff();
}
else {
turnOn();
}
buttonOn = !buttonOn;
}
- 1. Как сделать кнопку expand Java
- 2. Как сделать кнопку на CSS
- 3. Как сделать кнопку запустить цикл в java
- 4. Как я могу сделать кнопку «вернуться назад» на Java?
- 5. Как сделать кнопку сохранения
- 6. Как сделать кнопку переключателя на кнопке
- 7. Как сделать кнопку перейти на другую страницу?
- 8. Как лучше сделать кнопку?
- 9. Как сделать квадратную кнопку
- 10. Как сделать кнопку AirPlay?
- 11. Как сделать кнопку подсветкой?
- 12. Как сделать кнопку непрозрачной?
- 13. Как сделать кнопку unclickable
- 14. Сделать изображение как кнопку
- 15. Как сделать прозрачную кнопку?
- 16. Как сделать кнопку удаления?
- 17. Как сделать кнопку отключить
- 18. Как сделать кнопку, iOS
- 19. Как сделать кнопку сменой ярлыка
- 20. Как сделать кнопку нажатой?
- 21. Сделать кнопку похожим на текст
- 22. C# Как сделать еще одну кнопку, нажав на другую кнопку?
- 23. Как сделать кнопку переключателя/кнопку возврата. Похоже на google translate
- 24. Как сделать первую кнопку неактивной при нажатии на вторую кнопку
- 25. Сделать гиперссылку на кнопку Swift
- 26. Сделать кнопку в M13PDFKit как кнопку возврата
- 27. Как сделать кнопку показать на мобильном телефоне
- 28. Как сделать кнопку, добавленную на клавиатуру
- 29. Как сделать светящуюся кнопку на C#?
- 30. Как сделать кнопку выхода на npyscreen?
Является ли это свинг GUI? Android? AWT? Веб-программа? Какие? Если вы попытались реализовать это, и ваш код не работает, вы можете подумать о том, чтобы показать нам вашу попытку кода. –
Держу пари, что это Свинг, так как он/она поставил вопрос «JButton». –
да, это качели, извините за задержку, мой интернет отстой! Я попробую! благодаря!! –