2015-07-16 4 views
3

У меня есть этот JCheckBoxMenuItem как поле:Как получить логическое значение JCheckBoxMenuItem?

private JCheckBoxMenuItem chckbxmntmDisableSending = new JCheckBoxMenuItem("Disable Sending"); 

Мне нужно выяснить, является ли это проверено или нет какое-то время спустя, когда делать что-то другое (нажав на кнопку отправки, в основном). Как получить значение этого?

Я проверял значение JCheckBoxMenuItem ',' get boolean JCheckBoxMenuItem ', другие. Я также посмотрел документацию, в которой говорится что-то о getState(), но у меня создается впечатление, что getState() дает только то, выбрано ли оно мышью или нет.

Как сделать вы получаете текущее логическое значение элемента меню JCheckbox? То есть, проверено или нет?

+0

Возможно, вам следует прочитать [Как использовать кнопки, флажки и радио кнопки] (http://docs.oracle.com/javase/tutorial/uiswing/components/button.html) – MadProgrammer

+1

И, возможно, вы должен был прочитать его вопрос, прежде чем отправлять ответ RTFM ... так как его вопрос НЕ отвечает. – geowar

ответ

1

Согласно Javadocs, метод isSelected() также возвращает логическое значение для своего состояния.

+0

Разве это не было бы логическим, будь он выбран мышью? Или нет? – ifly6

+0

@ ifly6 Возвращает состояние выбранного состояния JCheckBoxMenuItem, независимо от того, как оно было установлено. – MadProgrammer

+0

Метод isSelected() наследуется от AbstractButton. Вот еще одна информация, если вы хотите: http://docs.oracle.com/javase/7/docs/api/javax/swing/AbstractButton.html#isSelected() – deezy

2

Прямо из JCheckBoxMenu Javadoc

Либо IsSelected/setSelected или GetState/SetState могут быть использованы для определения/указать состояние выбора пункта меню. Предпочтительными являются: SelectSelected и SetSelected, которые работают для всех меню и кнопок. Методы getState и setState существуют для совместимости с другими наборами компонентов.

Чтобы определить, когда он изменяет свое состояние, добавить ItemListener к вашему JCheckBoxMenuItem через addItemListener.

+0

Итак, вы имеете в виду, добавьте ItemListener, создайте логическое поле, и выражение лямбда ItemListener в основном скажете 'if (field) {field = false; } else {field = true; } '? – ifly6

+0

OP (и я) не заботятся, было ли это выбрано или нет ... мы хотим знать, видима ли галочка или нет ... getState & isSelected возвращает true, если он был выбран ... как в «просто нажатой мышью» «... поэтому они всегда верны внутри ActionListener (поскольку он вызывается, когда мышь нажимает на этот объект). Совершенно бесполезно при определении того, отмечен ли элемент, отмечен или нет. – geowar

Смежные вопросы