我想要有6个复选框,并在按下按钮后做一些事情你有一个例子吗?
还可以使用一系列复选框吗?
我想避免:
Checkbox cb1 = new Checkbox("A");
Checkbox cb2 = new Checkbox("B");
我正在做类似的事情:
JPanel panel = new JPanel();
JFrame frame = new JFrame("the title");
final JTextArea txt = new JTextArea(20, 30);
Button boton = new Button( "DO");
panel.add(txt);
panel.add(boton);
frame.add(panel);
frame.add(panel);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(500, 500);
frame.setVisible(true);
boton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
txt.setText("");
/*
How would be the logic of array of checkboxes
if checbox[0] is active do action 0
if checbox[1] is active do action 1
if checbox[2] is active do action 2
if checbox[3] is active do action 3
if checbox[4] is active do action 4
if checbox[5] is active do action 5
if checbox[0] and checbox[1] is active do action 6
if checbox[0] and checbox[2] is active do action 7
if checbox[0] and checbox[3] is active do action 8
etc...
*/
}
});
答案 0 :(得分:9)
您可以这样做:
List<Checkbox> checkboxes = new ArrayList<Checkbox>();
String labels[] = {"A", "B", "C", "D", "E", "F"};
for (int i = 0; i < labels.length; i++) {
Checkbox checkbox = new Checkbox(labels[i]);
checkboxes.add(checkbox); //for further use you add it to the list
}
然后List在ActionListener中使用它来引用复选框。如果您愿意,也可以使用数组。
答案 1 :(得分:5)
是的,有一个JCheckBox
数组,例如:
JCheckBox[] checkBoxes = {new JCheckBox("1"), new JCheckBox("2"), new JCheckBox("3"), new JCheckBox("4"), new JCheckBox("5"), new JCheckBox("6")};
或
JCheckBox[] checkBoxes = new JCheckBox[6];
然后你必须遍历checkBoxes.length
并实例化它(如果你没有)并通过addItemListener()
添加你的监听器,最后将每个复选框添加到你的JFrame
。
我希望这会有所帮助。