0
我目前面臨的一個問題是,我可以添加一個複選框到屏幕上,當點擊它時根據需要在狀態之間交換,但是當涉及到使用選擇數據來做事時,它總是返回原來的值,不管它是真還是假;JCheckBox總是返回真/假但不會改變
我的第一部分代碼只是使用isSelected();方法在不斷運行每個滴答的if語句中。 SVelRand是我的複選框,我創建使用:
SVelRand = new JCheckBox("Random", true);
SVelRand.setBounds(50, 30, 90, 20);
然後檢查代碼如下:
boolean sel = SVelRand.isSelected();
if(sel){
System.out.print("Selected");
}else{
System.out.print("Not Selected");
}
當我發現這個沒有工作,我試圖執行一個項目監聽我創造一個下方jcheckbox但它仍然繼續返回初始值集。
SVelRand.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
System.out.println(SVelRand.isSelected());
}
});
我也將它添加到框架櫃面有任何軸承之前繪製一個標籤和的JTextField相同的面板。而使用setBounds而不是佈局的原因是我可以將每個組件添加到精確的位置以實現非標準佈局。
任何幫助將不勝感激;
謝謝堆,它現在工作很好。仍然困惑我爲什麼內置的方法不工作,但我會堅持這種方法。 – user1690395
爲什麼選擇這個領域?你引入了額外的不必要的複雜性爲什麼不檢查ItemEvent對象中保存的狀態,因爲它保存了所需的信息? if(e.getStateChange()== ItemEvent.SELECTED)'是所有需要的 –