Java中复选框用JCheckBox类定义对象即可,其中判断该对象是否被选中,可以通过?

Python016

Java中复选框用JCheckBox类定义对象即可,其中判断该对象是否被选中,可以通过?,第1张

isSelected()不可以用于判断JCheckBox()是否被选中,因为该函数继承自JButton,只要点击JCheckBox,该函数就返回true。可以测试如下:

ArrayList<String>rst = new ArrayList<String>()

JCheckBox box = new JCheckBox()

if(box.isSelected()){

rst.add(box.getText())

}可以看出当box被勾掉选中时,rst.add(box.getText())语句照样执行。

监听JcheckBox的改变事件,记录一个boolean变量,随着改变而切换其值,从而保证与是否选中同步

import java.awt. * import java.awt.event. *import java.applet.*public class CheckBoxDemo extends Applet implements ItenListener {String msg=" "CheckBox WinXP,winNT,solaris,macpublic void init(){WinXP=new CheckBox("WindowsXP",null,true)winNT=new Checkbox("Window NT/2000")solaris=new Checkbox("Solaris")mac=new CheckBox("MacOS")add(WinXP)add(WinNT)add(solaris)add(mac)WinXP.addItemListener(this)winNT.addItenListener(this)solaris.addItenListener(this)mac.addItenListener(this)}public v oid itemStateChanged(ItemEvent ie){repaint()}public void paint(Graphics g)msg="当前系统是:"g.drawString(msg,6,80)msg="Windows XP:"+WinXP.getState()g.drawString(msg,6,100)msg="Windows NT/2000:"+WinNT.getState()

g.drawString(msg,6,120)msg="Solaris :"+WinXP.getState()g.drawString(msg,6,140)msg="MacOS :"+mac.getState()g.drawString(msg,6,160)}}