Swing中的按钮组件包括JButton、JRadioButton、JCheckBox,它们都是抽象按钮类AbstractButton类的子类。 今天介绍复选框JCheckBox。 1、复选框类声明 复选框可实现多项选择,其声明如下: public class JCheckBox extends JToggleButton implements Accessible { public JCheckBox (String text) public JCheckBox (String text, boolean selected) public JCheckBox (String text, Icon icon, boolean selected) } 复选框也继承自AbstractButton抽象按钮类。 2、AbstractButton抽象按钮类 此类定义按钮和菜单项的一般行为,声明如下: public abstract class AbstractButton extends JComponent implements ItemSelectable, SwingConstants { public String getText()//获得按钮标题 public void setText(String text) //设置按钮标题 public boolean isSelected()//返回是否选中 public void setSelected(boolean selected)//设置选中状态 public void addActionListener(ActionListener listener) //注册动作事件监听器 public void removeActionListener(ActionListener listern)// 取消动作事件监听器 } 3、简单例题: 本例以“个人爱好”为例,介绍复选框的用法。 几点说明: (1) 爱好很多,故本例中用复选框数组,每一个复选框数组中的数组元素是一个爱好。 (2) 在构造方法中创建复选框时,要先创建复选框数组。再对其中的每一个数组元素进行实例化。 (3) 复选框可以用注册动作事件监听器,本例中选中爱好之后,将之显示在文本区中。 其完整代码如下: package learn; import java.awt.*; import javax.swing.*; import java.awt.event.*; public class JCheckboxlearn extends JFrame implements ActionListener{ private JCheckBox like[];//爱好复选框数组 private JTextArea text; public JCheckboxlearn(){ super("复选框"); this.setBounds(200,200,300,100); JPanelpane=new JPanel(); Strings[]={"唱歌","跳舞","画画","打球","其它"}; like=new JCheckBox[s.length];//追寻安徽组 for(int i=0;i<s.length;i++){ like[i]=new JCheckBox(s[i]);//实例化数组元素 pane.add(like[i]);//将数组元素放入面板中 like[i].addActionListener(this);//为每一个复选框注册事件监听器 } this.getContentPane().add(pane);//将面板加入框架中 this.setVisible(true); text=new JTextArea(); this.getContentPane().add(text,"South"); } public void actionPerformed(ActionEvent e){ text.setText("您的爱好是:"); for(int i=0;i<like.length;i++){ if(like[i].isSelected()) text.append(like[i].getText()+"."); } } public static void main(String args[]){ new JCheckboxlearn(); } } 其运行结果如下: 当任意选中一个复选框时: 可以选中多个复选框,其运行结果如下: |
|
来自: pythonjava学习 > 《待分类》