JCheckBox 列表错误?
JCheckBox List error?
我正在 java 中编码一台谜机,当程序启动时,我会出现一个带有 5 个 JCheckBox 的 JOptionPane,供用户 select 使用哪个转子,在哪个转子中订单。
我的问题是,它们被添加到弹出窗口中,但实际上并未显示。
相反,我得到了所有 5 个复选框的大量读数,就好像我调用了它们的 toString 方法一样。
我在弹出窗口中有几个正确显示的 JLabel,以及底部的确定按钮。
我的列表是这样初始化的:
private final List<JCheckBox> rotorCheckBox = Arrays.asList(new JCheckBox(
"Rotor 1"), new JCheckBox("Rotor 2"), new JCheckBox("Rotor 3"),
new JCheckBox("Rotor 4"), new JCheckBox("Rotor 5"));
我不确定它为什么这样做,它以前作为一个数组工作,我一直在尝试转换它,所以我不必不断地调用它 Arrays.asList() 。
我已经检查了我的代码中对它的每一次使用,没有任何东西被调用 toString 或创建与它在列表中相关的错误。
怎样才能让它正确显示?
您正在将列表添加到 JOptionPane
,您应该将 JCheckBox
添加到 JPanel
并改用它
所以,而不是像...
JOptionPane.showMessageDialog(null, rotorCheckBox);
你应该使用更像...
JPanel panel = new JPanel();
for (JCheckBox cb : rotorCheckBox) {
panel.add(cb);
}
JOptionPane.showMessageDialog(null, panel);
举个例子
我正在 java 中编码一台谜机,当程序启动时,我会出现一个带有 5 个 JCheckBox 的 JOptionPane,供用户 select 使用哪个转子,在哪个转子中订单。
我的问题是,它们被添加到弹出窗口中,但实际上并未显示。 相反,我得到了所有 5 个复选框的大量读数,就好像我调用了它们的 toString 方法一样。 我在弹出窗口中有几个正确显示的 JLabel,以及底部的确定按钮。
我的列表是这样初始化的:
private final List<JCheckBox> rotorCheckBox = Arrays.asList(new JCheckBox(
"Rotor 1"), new JCheckBox("Rotor 2"), new JCheckBox("Rotor 3"),
new JCheckBox("Rotor 4"), new JCheckBox("Rotor 5"));
我不确定它为什么这样做,它以前作为一个数组工作,我一直在尝试转换它,所以我不必不断地调用它 Arrays.asList() 。 我已经检查了我的代码中对它的每一次使用,没有任何东西被调用 toString 或创建与它在列表中相关的错误。
怎样才能让它正确显示?
您正在将列表添加到 JOptionPane
,您应该将 JCheckBox
添加到 JPanel
并改用它
所以,而不是像...
JOptionPane.showMessageDialog(null, rotorCheckBox);
你应该使用更像...
JPanel panel = new JPanel();
for (JCheckBox cb : rotorCheckBox) {
panel.add(cb);
}
JOptionPane.showMessageDialog(null, panel);
举个例子