又一周过去了,总结下本周学习的内容:
复选框类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); } }