У меня есть JCheckbox на форме, которую я пытаюсь использовать и помещать в базу данных. Это всего лишь фрагмент кода, но если этого недостаточно, я могу просто пойти вперед и опубликовать весь класс (он большой и грязный, хотя, но я посмотрю, как мы пойдем).JCheckBox возвращает false, когда выбрано
// Create checkbox
JCheckBox featuredCB = new JCheckBox();
topPanel.add(featuredCB);
//Take the value of it and put it in featuredCheck value
boolean featuredCheck = featuredCB.isSelected();
System.out.println(featuredCheck);
submitBT.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
if(event.getSource() == submitBT)
{
idContent.setUser(userTF.getText());
idContent.setMovie(titleTF.getText());
idContent.setFeatured(featuredCheck);
idContent.setRating(Integer.parseInt(ratingTF.getText()));
if(owner.updateReview(isUpdate, idContent))
{
// success
try {
MovieReviewDSC.add(idContent);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
else
{
// fail
}
}
}
Есть некоторые другие вещи там он принимает и проходит через очень хорошо, и эта информация отображается в базе данных и показывается как незарегистрированный в моей таблице модели, а также.
Но я положил строку System.out.println(featuredCheck);
, чтобы проверить ее, и каждый раз, когда я запускаю ее, она выводит false, даже если я установил флажок. Есть идеи?
Отлично, это работает, спасибо много! Я все еще узнаю о actionListeners, и что вы можете и чего не можете сделать в них, поэтому я ценю объяснение. – user3690863
@ user3690863: он фактически имеет мало общего с ActionListener, и все зависит от вашей логической переменной, которая не изменяется при изменении JCheckBox. Вы можете исправить эту проблему, если вам абсолютно необходимо логическое значение, добавив ItemListener в JCheckBox и изменив логическое значение в этом прослушивателе. –
О, хорошо, я буду держать itemListener в уме, я думаю, что мне нужно это для некоторых переключателей, которые у меня есть. Я не думаю, что мне нужно это для этой конкретной проблемы, так как мне действительно нужно знать, выбрано ли поле или нет, когда нажата кнопка отправки. Благодаря! – user3690863