JAVA组件大全复选框、选项按钮、列表方框、下拉式列表的使用与介绍 (1)

本文介绍了JAVA中JCheckBox、JRadioButton、JList和下拉式列表的使用。通过示例展示了如何创建、设置初始状态、事件处理,并解释了ButtonGroup在实现单选功能中的作用。此外,还提到了JList的滚动效果和选择模式的设置。
摘要由CSDN通过智能技术生成
7-1:使用JCheckBox组件:
类层次结构图:
   java.lang.Object
     --java.awt.Component
      --java.awt.Container
        --javax.swing.JComponent
           --javax.swing.AbstractButton
             --javax.swing.JToggleButton
               --javax.swing.JCheckBox
    JCheckBox与JRadioButton为JToggleButton的子类,因此它们可以使用AbstractButton抽象类里面许多好用的方法,如addItemLi
stener()、setText()、isSelected()等等。
构造函数:
    JCheckBox():建立一个新的JChcekBox.
    JCheckBox(Icon icon):建立一个有图像但没有文字的JCheckBox.
    JCheckBox(Icon icon,boolean selected):建立一个有图像但没有文字的JCheckBox,且设置其初始状态(有无被选取)。   
    JCheckBox(String text):建立一个有文字的JCheckBox.
    JCheckBox(String text,boolean selected):建立一个有文字的JCheckBox,且设置其初始状态(有无被选取)。
    JCheckBox(String text,Icon icon):建立一个有文字且有图像的JCheckBox,初始状态为无被选取。
    JCheckBox(String text,Icon icon,boolean selected):建立一个有文字且有图像的JCheckBox,且设置其初始状态(有无被选取
                                                       )。
7-1-1:构造JCheckBox组件:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class JCheckBox1{
   public static void main(String[] args){
      JFrame f=new JFrame("JCheckBox1");
      Container contentPane=f.getContentPane();
      contentPane.setLayout(new GridLayout(2,1));
      JPanel p1=new JPanel();
      p1.setLayout(new GridLayout(1,3));
      p1.setBorder(BorderFactory.createTitledBorder("你最喜欢哪一家快餐店呢?"));
      JCheckBox c1=new JCheckBox("麦当劳");
      JCheckBox c2=new JCheckBox("肯德基");
      JCheckBox c3=new JCheckBox("21世纪");
      p1.add(c1);
      p1.add(c2);
      p1.add(c3);
      JPanel p2=new JPanel();
      p2.setLayout(new GridLayout(2,1));
      p2.setBorder(BorderFactory.createTitledBorder("以下为JCheckBox的图形示范:"));
      JCheckBox c4=new JCheckBox("图形1",new ImageIcon(".//icons//x.jpg"));
      JCheckBox c5=new JCheckBox("图形2",new ImageIcon(".//icons//x.jpg"));
      p2.add(c4);
      p2.add(c5);
      contentPane.add(p1);
      contentPane.add(p2);
      f.pack();
      f.show();
        f.addWindowListener(new WindowAdapter(){
            public void windowClosing(WindowEvent e){
               System.exit(0);
            }
        });
   }
}

7-1-2:JCheckBox事件处理:
      你可以在上面的选项中勾选你喜欢吃的快餐店,在勾选的过程中,你可以发现它是可以复选的。但在图形选项中,我们并无法
清楚用户是否选择此项目,因为选或不选图形都一样。为解决这个问题,我们要使用到事件处理方法。当JCheckBox中的选项被选取
或取消时,它会触发ItemEvent的事件,ItemEvent这个类共提供了4种方法可以使用,分别是getItem()、getItemSelectable()、
getStateChange()、paramString()。getItem()与paramString()方法会返回一些这个JCheckBox的状态值。一般我们较少用到这两
个方法。
     getItemSelectable()相当于getSource()方法,一样都是返回触发事件的组件,用来判断是那个组件产生事件。在上一章中我
们曾经说过,getSource()方法是EventObject类所提供,而所有事件类都会继承这个类,因此所有的事件我们均能用getSource()
方法来判断到底是哪个组件触发了事件。
    最后getStateChange()方法会返回此组件到底有没有被选取。这个方法会返回一个整数值。而我们可以用ItemEvent所提供的类
变量;若被选取则返回SELECTED,若没有被选取则返回DESELECTED.
    下面这个范例我们即利用ItemListener来选取图形产生变化,ItemListener这个inteface只有定义一个方法,那就是
itemStateChange(ItemEvent e),因此我们只需实作这个方法.


import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class JCheckBox2 implements ItemListener
{
     JFrame f = null;
     JCheckBox c4 = null;
     JCheckBox c5 = null;
    
     JCheckBox2(){
         f = new JFrame("JCheckBox");
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值