java - Swing JCheckbox 的多选问题

标签 java swing checkbox selection

我有一个复选框列表,但我无法从此列表中进行多项选择,当我选中一个新框时,它会禁用之前的选择。我怎样才能改变我的代码?或者如果它看起来不错,但我不小心在我的代码中的其他地方做错了。

public JPanel createMultiMenu(ArrayList<String> domainItems) {

    checkBoxMenuPanel = new JPanel();
    checkBoxMenuPanel.setLayout(new GridBagLayout());
    GridBagConstraints gbc = new GridBagConstraints();
    gbc.gridx = 0;
    gbc.gridy = GridBagConstraints.RELATIVE;
    gbc.anchor = GridBagConstraints.WEST;

    ButtonGroup group = new ButtonGroup();
    for (String item : domainItems) {
        JCheckBox checkBox = new JCheckBox(item);
        group.add(checkBox);
        checkBoxMenuPanel.add(checkBox,gbc);        
    }
    return checkBoxMenuPanel;
}

最佳答案

这就是 ButtonGroup 的工作方式,您可以选择组中的任何按钮,但一次只能选择 1 个。通常 JRadioButton 也用于此目的。

如果您希望能够选择多个复选框,则不要使用 ButtonGroup。

关于java - Swing JCheckbox 的多选问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6267411/

相关文章:

java - 理论: Two system integration through web service

javascript - 如何使用jquery从复选框组中获取选中的值

javascript - 将复选框数据属性与输入值相乘

java - 无论我设置什么尺寸,JPanels 都会一直显示为小方 block

java - JPanel 只显示一个对象

java - Java Swing 程序中的 SwingUtilities.invokeLater() 方法

android - 对齐相对布局内的复选框

java - 基于优先级的线程?

java - 我如何在 Vaadin 中禁用 HttpOnly cookie?

java - 使用java解码二进制消息