zoukankan      html  css  js  c++  java
  • 第十三周总结

    本周主要学习的是选择框、单选框和单选按钮。这些都是选择组件,选择组件有两种状态,一种是选中(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();
           }
    }

     运行截图

  • 相关阅读:
    构建账户系统
    我的vim配置
    document.readyState和xmlhttp.onreadystatechange
    RSA非对称算法实现HTTP密码加密传输
    css3动画学习资料整理
    H5缓存机制学习记录
    [leetcode]3Sum Closest
    [leetcode]Word Ladder II
    [leetcode]Two Sum
    [leetcode]Regular Expression Matching
  • 原文地址:https://www.cnblogs.com/hhwcg/p/11914571.html
Copyright © 2011-2022 走看看