[的Java Swing] JCheckBox的在Java中 – JCheckBox的在Java中

内容
创建JCheckBox的
获取事件JCheckBox的

JCheckBox的对象,允许我们选择多个属性. 例如,填写预定时观众, 宠物, 不存在这样的车. 这个人可以同时拥有 3 或者没有一个在所有.

创建JCheckBox的

我们将创造 1 与JCheckBox的JFrame的如下所示:

JCheckBox的在Java中

的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.

JCheckBox的在Java中

要检查是否复选框被选中与否,我们使用的方法 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的