java - 通过单击复选框禁用 jtable 中的组合框

标签 java swing jtable jcombobox jcheckbox

我正在尝试用java做一些简单的应用程序。我在jTable中渲染了一些CheckBox和ComboBox。现在我正在尝试处理该项目,例如获取值、启用-禁用组合框。但我面临一些问题。
我现在面临的是什么
1.
我在 jTable 中渲染 ComboBox 和 CheckBox。当我单击相应行的复选框时,我尝试启用组合框。如果我的复选框未启用,则应禁用它的 ComboBox。
我尝试过但没有成功。

2
我试图单击复选框,但如果我使用 setSelected,则所有复选框都会被选中,但当我尝试取消选中它时,它却没有。
这是我的代码供您引用。

    public class MyComboBoxRenderer extends JComboBox implements TableCellRenderer {
    public MyComboBoxRenderer(String[] items) {
        super(items);
    }

    public Component getTableCellRendererComponent(JTable table, Object value,
            boolean isSelected, boolean hasFocus, int row, int column) {
        if (isSelected) {
            setForeground(Color.BLACK);
            super.setBackground(Color.WHITE);
        } else {
            setForeground(Color.BLACK);
            setBackground(Color.WHITE);
        }

        // Select the current value
        setSelectedItem(value);
        return this;
    }
   }

    public class MyComboBoxEditor extends DefaultCellEditor {
    public MyComboBoxEditor(String[] items) {
        super(new JComboBox(items));
     }
   }

.

     public class MyCheckBoxRenderer extends JCheckBox implements TableCellRenderer {
     public MyCheckBoxRenderer(String[] items) {
        super();
       // setSelected(true);
     }

     public Component getTableCellRendererComponent(JTable table, Object value,
            boolean isSelected, boolean hasFocus, int row, int column) {
        if (isSelected) {
            setForeground(Color.BLACK);
            super.setBackground(Color.WHITE);
        } else {
            setForeground(Color.BLACK);
            setBackground(Color.WHITE);
        }

       // setSelected(true);
        // Select the current value

        return this;
    }
    }

    public class MyCheckBoxEditor extends DefaultCellEditor {
    public MyCheckBoxEditor() {
        super(new JCheckBox());

} 
}

给我一​​些提示或引用。
提前致谢。

最佳答案

关于java - 通过单击复选框禁用 jtable 中的组合框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13159140/

相关文章:

java - 在自定义 jtable 中显示结果集

java - 如何使 JTable 可编辑?

java - 将 Spring 配置从 XML 转换为基于 Java : No Qualifying bean Exception

java - Glassfish ACC(应用程序客户端容器)的文档

java - 这到底是什么意思 Collection<?延伸 E> c

java - .png 图标未在 JFrame 窗口中加载

java - 将字符串从字节数组转换为 int

java - 如何检查jPanel是否被按下?

java - 选择行时突出显示单元格

java - 在 JTable 中移动行