java - jtable 内的动态 jcombobox 渲染

标签 java swing jtable dynamic-data jcombobox

我有一个 JTable,其中 JCheckboxes 位于 JTable 的 2 列中。假设 A 列和 B 列是其中包含 JComboBox 的列。 A 列的 JCheckbox 的项目是静态的,可以进行硬编码。但是,B 列的 JComboBox 值的项目是动态的。我想做的是,当用户启动应用程序时,A 列的 JcomboBox 应该具有静态值,并且应该将 ComboBox 中的默认选定值显示为“---Select---”

即我将组合框项目设置为 ["--Select","X","Y","Z"]

此外,B 列中的 JComboBox 应显示默认值“请稍候”,这意味着一段时间后它将动态更新。在那之前,它必须显示“请稍候”。

经过一组用户操作后,我想使用动态值更新列 B 的 JComboBox。即使如此,B 列的 JcomboBox 值也依赖于 A 列的 JcomboBox 所选项目。

我可以动态更新值,但将该单元格呈现为 JComboBox 时无法按预期工作。

我尝试过以下方法,

Enumeration<TableColumn> c = myTable.getColumnModel().getColumns();
        int i = 0;
        while (c.hasMoreElements()) {
            TableColumn column = c.nextElement();
            column.setCellRenderer(new ComboBoxCellRenderer(i));
            i++;
        }



   private static class ComboBoxCellRenderer extends JComboBox implements TableCellRenderer {

        public ComboBoxCellRenderer(int column) {
            // for (int i = 0; i < elements.length; i++) {
            if (column == 0) {

                addItem("--Select--");
                addItem("X");
                addItem("Y");
                addItem("Z");

            }
        }

        @Override
        public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column) {
            setSelectedItem(value);
            return this;
        }
    }

如果我使用此代码,则我无法从 JComboBo 中选择项目。即使我选择了,它也不会被选择。

我目前正在使用下面链接中提到的代码。

Stackoverflow

如果有人为此提供示例代码,这对我会有很大帮助。

提前致谢。

最佳答案

DependentColumn可能会提供一些指导。如果依赖列也可编辑,请参阅这些 related examples .

image

关于java - jtable 内的动态 jcombobox 渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15310096/

相关文章:

java - 按 Enter 触发 System.in.read() 两次?

java - 在java上打印播放器结果

java - 如何实现仅接受数字和有限字符的 JFormattextfield

java - 在 JUnit 测试中处理 Swing 事件

java - 将对象数组放入表中 - Java

java - PreparedStatement 的问题 - Java

java - 从 jDateChooser 获取值并保存到 MS sql DB

java - JDBC,帮助在 Java GUI 中将结果集显示为表格

java - java中的自定义表格单元格编辑器,列数据类型为Float

java - 读取xml文件时出现空指针异常