java - jtable 的行不接受选择

标签 java swing colors selection tablecellrenderer

我有一个 JTable。我使用 setDefaultRenderer 为某些行着色,如下所示:

Acueill.jTableProduit.setDefaultRenderer(Object.class, new DefaultTableCellRenderer() {
            @Override
            public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int col) {
                super.getTableCellRendererComponent( table, value, false, hasFocus, row, col);
                final int qte = (int) table.getModel().getValueAt(row, 7);
                final int min = (int) table.getModel().getValueAt(row, 8);
                if (qte < min) {
                    setBackground(Color.red);
                } else {
                    setBackground(table.getBackground());
                }
                return this;
            }
        });

但是我的 jtable 不接受选择行。如何解决这个问题?

最佳答案

在我看来,即使您在不同的列中有字符串和数字数据,您也尝试为表使用单个渲染器。这不是一个好主意。通常数字的格式和显示方式与字符串不同。因此,您需要为表中的每种数据类型创建多个渲染器。

要了解不同的方法,请查看 Table Row Renderering它展示了如何在没有自定义渲染器的情况下设置整行的背景。

关于java - jtable 的行不接受选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37024625/

相关文章:

java - 实体中带有复合键的 Map<String, Entity>

java - 如何使 Controller 端点在 java spring 中获取两个不同的对象?

java - 从另一个类访问 JTextfield 中的值

java - 如何给这个按钮添加 Action 监听器?

java - 奇怪的行为在循环中重新运行java应用程序

java - Spring中如何在非组件类中实现缓存

java - 您推荐哪种 Swing 布局?

java - JTable 行颜色取决于模型中的值?

r - plotly() 中的色阶

c# - 每次都创建相同的对比色阵列的算法?