[的Java Swing] JCheckBox的在Java中 – JCheckBox的在Java中
内容
创建JCheckBox的
获取事件JCheckBox的
JCheckBox的对象,允许我们选择多个属性. 例如,填写预定时观众, 宠物, 不存在这样的车. 这个人可以同时拥有 3 或者没有一个在所有.
创建JCheckBox的
我们将创造 1 与JCheckBox的JFrame的如下所示:

的JFrame 包括 2 的主要部分是在左侧包含 3 JCheckBox的, 右侧包含 3 的JLabel 分别. 首先,我们将创建最后JCheckBox的.
package nguyenvanquan7826.JCheckBox;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class MyJCheckBox extends JFrame {
private JCheckBox checkMoney, checkHouse, checkCar;
private JLabel lbMoney, lbHouse, lbCar;
public MyJCheckBox() {
// add main panel
add(createMainPanel());
// set display
setTitle("JCheckBox");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(200, 150);
setLocationRelativeTo(null);
setVisible(true);
}
private JPanel createMainPanel() {
// create JPanel container three checkBox
JPanel panelCheckBox = new JPanel(new GridLayout(4, 0, 5, 5));
panelCheckBox.add(checkMoney = createCheckBox("Money"));
panelCheckBox.add(checkCar = createCheckBox("Car"));
panelCheckBox.add(checkHouse = createCheckBox("House"));
// create JPanel Container three JLabel
JPanel panelShow = new JPanel(new GridLayout(4, 0, 5, 5));
panelShow.add(lbMoney = createLabel("Money"));
panelShow.add(lbCar = createLabel("Car"));
panelShow.add(lbHouse = createLabel("House"));
// add panelCheckBox and panelShow to main panel
JPanel panel = new JPanel(new BorderLayout());
panel.add(panelCheckBox, BorderLayout.WEST);
panel.add(panelShow, BorderLayout.CENTER);
return panel;
}
// create a JCheckBox
private JCheckBox createCheckBox(String name) {
JCheckBox checkBox = new JCheckBox(name);
return checkBox;
}
// create a JLabel
private JLabel createLabel(String lb) {
JLabel label = new JLabel(lb);
label.setEnabled(false);
return label;
}
public static void main(String[] args) {
new MyJCheckBox();
}
}
在他的部分接口不再说话, 在代码和注释也相对. 我只是谈论创建JCheckBox的.
在方法createCheckBox(字符串名称) 我已经使用了构造 JCheckBox的复选框=新JCheckBox的(名字); 以下是如何创建 1 JCheckBox的有相应的文字. 我们也有其他的初始化方法为:
– JCheckBox的(): 创建 1 JCheckBox的没有文本, 无图标, 不检查.
– JCheckBox的(行动): 创建一个动作JCheckBox的
– JCheckBox的(图标图标): 与图标创建JCheckBox的
– JCheckBox的(图标图标, 布尔选择): 创建图标和设置JCheckBox的选择或不.
– JCheckBox的(文本字符串, 布尔选择): 创建和设置JCheckBox的选定文本或不.
– JCheckBox的(文本字符串, 图标图标): 与文本创建JCheckBox的, 使用图标
– JCheckBox的(文本字符串, 图标图标, 布尔选择): 与文本创建JCheckBox的, 使用图标, 设定被选择或不.
获取事件JCheckBox的
当你需要检查的复选框每个复选框赶上事件addItemListener. 方法createCheckBox() 修改为:
private JCheckBox createCheckBox(String name) {
JCheckBox checkBox = new JCheckBox(name);
checkBox.addItemListener(this);
return checkBox;
}
当此, 我们的类实现所需要的接口 的ItemListener 和压倒一切的方法 公共无效itemStateChanged(ItemEvent和). 这种方法是我们选中复选框时做这项工作的方法. 在这个例子中,我们将检查每一次检查的事件在一定的复选框. 然后,它会检查是否复选框被选中或取消设置显示或不显示相应的JLabel.

要检查是否复选框被选中与否,我们使用的方法 isSelected(). 因此,我们所有的计划将被写入如下:
package nguyenvanquan7826.JCheckBox;
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
public class MyJCheckBox extends JFrame implements ItemListener {
private JCheckBox checkMoney, checkHouse, checkCar;
private JLabel lbMoney, lbHouse, lbCar;
public MyJCheckBox() {
// add main panel
add(createMainPanel());
// set display
setTitle("JCheckBox");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(200, 150);
setLocationRelativeTo(null);
setVisible(true);
}
private JPanel createMainPanel() {
// create JPanel container three checkBox
JPanel panelCheckBox = new JPanel(new GridLayout(4, 0, 5, 5));
panelCheckBox.add(checkMoney = createCheckBox("Money"));
panelCheckBox.add(checkCar = createCheckBox("Car"));
panelCheckBox.add(checkHouse = createCheckBox("House"));
// create JPanel Container three JLabel
JPanel panelShow = new JPanel(new GridLayout(4, 0, 5, 5));
panelShow.add(lbMoney = createLabel("Money"));
panelShow.add(lbCar = createLabel("Car"));
panelShow.add(lbHouse = createLabel("House"));
// add panelCheckBox and panelShow to main panel
JPanel panel = new JPanel(new BorderLayout());
panel.add(panelCheckBox, BorderLayout.WEST);
panel.add(panelShow, BorderLayout.CENTER);
return panel;
}
// create a JCheckBox
private JCheckBox createCheckBox(String name) {
JCheckBox checkBox = new JCheckBox(name);
checkBox.addItemListener(this);
return checkBox;
}
// create a JLabel
private JLabel createLabel(String lb) {
JLabel label = new JLabel(lb);
label.setEnabled(false);
return label;
}
public static void main(String[] args) {
new MyJCheckBox();
}
@Override
public void itemStateChanged(ItemEvent e) {
if (e.getSource() == checkMoney) {
lbMoney.setEnabled(checkMoney.isSelected());
return;
}
if (e.getSource() == checkCar) {
lbCar.setEnabled(checkCar.isSelected());
return;
}
if (e.getSource() == checkHouse) {
lbHouse.setEnabled(checkHouse.isSelected());
return;
}
}
}
阅读更多: 类JCheckBox的, 使用JCheckBox的



0 在回应 [的Java Swing] JCheckBox的在Java中 – JCheckBox的在Java中