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



浙公网安备 33010602011771号