第十三周总结

本周主要学习的是选择框、单选框和单选按钮。这些都是选择组件,选择组件有两种状态,一种是选中(on),另一种是未选中(off)。接下来仔细总结一下。

选择框(JCheckBox) 又称为复选框,它的选中与否开状是一个小方框,被选中则在框中打勾。当在一个容器中有多个选择框,同时可以有多个选择框被选中,这样的选择框,称复选框。与选择框相关的接口是ItemListener,事件类是ItemEvent

JCheckBox类常用的构造方法有以下3个:

JCheckBox():用空标题构造选择框。

JCheckBox(String s):用给定的标题s构造选择框。

JCheckBox(String s, boolean b):用给定的标题s构造选择框,参数b设置选中与否的初始状态。

单选框:当在一个容器中放入多个选择框,且没有ButtonGroup对象将它们分组,则可以同时选中多个选择框。如果使用ButtonGroup对象将选择框分组,同一时刻组内的多个

选择框只允许有一个被选中,称同一组内的选择框为单选框。单选框分组的方法是先创建ButtonGroup对象,然后将希望为同组的选择框添加到同一个ButtonGroup对象中

单选按钮(JRadioButton)的功能与单选框相似。使用单选按钮的方法是将一些单选按钮用ButtonGroup对象分组,使同一组的单选按钮只允许有一个被选中。单选按钮与单选

框的差异是显示的样式不同,单选按钮是一个圆形的按钮,单选框是一个小方框。

JRadioButton类的常用构造方法有以下几个:

JRadioButton():用空标题构造单选按钮。

JRadioButton(String s):用给定的标题s构造单选按钮。

JRadioButton(String s,boolean b):用给定的标题s构造单选按钮,参数b设置选中与否的初始状态。

单选按钮使用时需要使用ButtonGroup将单选按钮分组,单选按钮的分组方法是先创建对象,然后将同组的单选按钮添加到同一个ButtonGroup对象中。

列表框JList):它可以同时将多个选项信息以列表的方式展现给顾客。它的常用构造方法如下:

public JList(ListModel  dateModel):根据ListModel构造JList。

public JList(Object[] listDate):根据对象数组构造JList。

复制代码
package demo;

import javax.swing.*;
 
public class Calculator {
 
    public static void main(String[] args)
    {
        javax.swing.SwingUtilities.invokeLater(new Runnable()
        {
            public void run()
            {
                createGUI();
            }
        });
    }
    protected static void createGUI()
    {
        myFrame frame = new myFrame("Swing Demo");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(600,400);
        frame.setVisible(true);
        
    }
 
}
复制代码
package demo;
 
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
 
import javax.swing.*;
  
public class myFrame extends JFrame{
    JCheckBox checkbox = new JCheckBox("请输入邮箱地址");
    JTextField email = new JTextField(16);
     
    public myFrame(String title)
    {
        super(title);
        Container contentPane = getContentPane();
        contentPane.setLayout(new FlowLayout());
         
 
        contentPane.add(checkbox);
        contentPane.add(email);
         
        checkbox.setSelected(true);
        email.setToolTipText("请输入邮箱地址");
        checkbox.addActionListener(new ActionListener() {
 
            public void actionPerformed(ActionEvent arg0)
            {
                email.setEnabled(checkbox.isSelected());
                 
            }
             
        });
    }
  
}

  运行截图:

复制代码
 1 package demo;
 2 
 3 import javax.swing.*;   
 4 
 5 public class Calculator
 6 {
 7     public static void main(String[] args) 
 8     {    
 9         JFrame j1 = new JFrame("Box");   
10         j1.setSize(200, 200);          
11         JPanel j2 = new JPanel();     
12         JRadioButton c1 = new JRadioButton("see you again",true);
13         JRadioButton c2 = new JRadioButton("Rolling in the deep");
14         JRadioButton c3 = new JRadioButton("all falls down");
15         JRadioButton c4 = new JRadioButton("apoligize");
16         
17         ButtonGroup group = new ButtonGroup();
18         group.add(c1);
19         group.add(c2);
20         group.add(c3);
21         group.add(c4);
22     
23         JLabel l1 = new JLabel("你更喜欢哪首歌:");
24         j2.add(l1);
25         j2.add(c1);
26         j2.add(c2);
27         j2.add(c3);
28         j2.add(c4);
29         
30         j1.add(j2);    
31         j1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
32         j1.setVisible(true);
33     }
34 }
复制代码

运行截图

复制代码
package demo;

import java.awt.*;
import javax.swing.*;
import javax.swing.border.EmptyBorder;
 
public class Calculator extends JFrame{
       public Calculator(){
           this.setTitle("列表框使用");
           this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
           this.setBounds(100, 100, 250, 130);
           JPanel contentPane=new JPanel();
           contentPane.setBorder(new EmptyBorder(5,5,5,5));
           this.setContentPane(contentPane);
           contentPane.setLayout(new FlowLayout(FlowLayout.CENTER,5,5));
           JLabel label=new JLabel("证件类型:");
           contentPane.add(label);
           JList list=new JList(new String[]{"身份证","驾驶证","军官证"});
           contentPane.add(list);
           this.setVisible(true);
       }
       public static void main(String[]args){
           Calculator example=new Calculator();
       }
}
复制代码

 运行截图

原文地址:https://www.cnblogs.com/changanshisanzhao/p/11918944.html