【问题标题】:how to add a checkbox into JList (java netbeans)?如何在 JList (java netbeans) 中添加一个复选框?
【发布时间】:2019-02-28 07:14:29
【问题描述】:

我在 JList 中添加了一个复选框,它工作成功,但问题是它没有同时选择多个复选框,并且复选框的多选代码不起作用,我还添加了图像。

 lstsubsub.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);

public class CheckboxListCellRenderer extends JCheckBox implements 
       ListCellRenderer {

    @Override
    public Component getListCellRendererComponent(JList list, Object value, int index, 
            boolean isSelected, boolean cellHasFocus) {


        setComponentOrientation(list.getComponentOrientation());
        setFont(list.getFont());
        setBackground(list.getBackground());
        setForeground(list.getForeground());
        setSelected(isSelected);
        setEnabled(list.isEnabled());


        setText(value == null ? "" : value.toString());  

        return this;
    }
}

【问题讨论】:

  • 尝试创建一个复选框数组,例如 JCheckBox[] box = new JCheckBox[length]

标签: java swing jlist jcheckbox


【解决方案1】:

不要将JList 用于JCheckBoxes... 使用JPanelGridLayout,如下所示:

import java.awt.GridLayout;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class Main extends JPanel {
    private final JCheckBox checkReg, checkPerm, checkAcc;

    public Main() {
        super(new GridLayout(0, 1)); //1 column, any number of rows...
        super.add(checkReg = new JCheckBox("User Registration"));
        super.add(checkPerm = new JCheckBox("User Permission"));
        super.add(checkAcc = new JCheckBox("User Accounts"));
    }

    public static void main(final String[] args) {
        final JFrame frame = new JFrame("List of checkboxes");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().add(new Main());
        frame.pack();
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-29
    • 2014-07-09
    • 2023-04-10
    • 2018-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多