又一周过去了,总结下本周学习的内容:

复选框类JCheckBox
使用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,且设置其初始状态(有无被选取)
JCheckBox事件处理:
你可以在上面的选项中勾选你喜欢吃的快餐店,在勾选的过程中,你可以发现它是可以复选的。但在图形选项中,我们并无法
清楚用户是否选择此项目,因为选或不选图形都一样。为解决这个问题,我们要使用到事件处理方法。当JCheckBox中的选项被选取
或取消时,它会触发ItemEvent的事件,ItemEvent这个类共提供了4种方法可以使用,分别是getItem()、getItemSelectable()、
getStateChange()、paramString()。getItem()与paramString()方法会返回一些这个JCheckBox的状态值。一般我们较少用到这两
个方法。

import java.awt.Dimension;
import java.awt.Toolkit;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.*;


public class Test26 {
	
   public static void main(String[] args) {
		 //设置窗体位置及大小
	JFrame jFrame = new JFrame("登陆界面");
	Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
	jFrame.setBounds(((int)dimension.getWidth() -500) / 2, ((int)dimension.getHeight() -600) / 2, 300, 250);
	jFrame.setResizable(false);
	jFrame.setLayout(null);
	jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	
	final String passwrod = "woaijava";
	final String username =  "65743" ;
	 
    //创建标签并设置及大小
	JLabel label1 = new JLabel("用户名");
	label1.setBounds(30, 30, 100, 30);
	jFrame.add(label1);
	
	JLabel label2 = new JLabel("密码");
	label2.setBounds(30, 70, 100, 30);
	jFrame.add(label2);
	
	JLabel label3 = new JLabel("验证码");
	label3.setBounds(30, 100, 100, 30);
	jFrame.add(label3);
	
	JLabel label4 = new JLabel("1234");
	label4.setBounds(220, 100, 100, 30);
	jFrame.add(label4);
	//创建一个单选按钮,并设置位置和大小
   JRadioButton RadioButton = new JRadioButton("账号保存");
	RadioButton.setBounds(210, 30, 100, 30)	;
	RadioButton.setSelected(true);
	jFrame.add(RadioButton);
	
	//设置文本框大小位置
	JTextField text1 = new JTextField();
	text1.setBounds(80, 30, 130, 20);
	jFrame.add(text1);
	
    final JPasswordField text2 = new JPasswordField();
	text2.setBounds(80, 70, 130, 20);
	jFrame.add(text2);
	
	final JPasswordField text3= new JPasswordField();
	text3.setBounds(80,110, 130, 20);
	jFrame.add(text3);
	
	JButton button = new JButton("登陆");
	button.setBounds(60, 160, 170, 40);
	button.addActionListener(new ActionListener() {
   //添加事件响应
	 public void actionPerformed(ActionEvent e) {
	if(username.equals(text1.getText()) && passwrod.equals(text2.getText())) {
	JOptionPane.showMessageDialog(null, "登陆成功", "提示", JOptionPane.INFORMATION_MESSAGE);
	} else {
	JOptionPane.showMessageDialog(null, "错误", "提示", JOptionPane.ERROR_MESSAGE);
	text1.setText("");
	text2.setText("");
	}
	}
	});
	jFrame.add(button);

	jFrame.setVisible(true);
	}

}