java - Jtable tablecell渲染器?

标签 java swing jtable tablecellrenderer

我有一个使用 dtable 的 java gui,我试图突出显示添加的最后一行。在我的 GUI.java 文件中,我使用以下命令创建了 dtable:

public JTable display = new JTable(model){
public Component prepareRenderer(TableCellRenderer renderer, int row, int column)
{
    Component c = super.prepareRenderer(renderer, row, column);

    c.setBackground(Color.GREEN);

    return c;
}

};

在我的 main.java 文件中,我使用 dtable 实例“display”创建 gui 类实例“gu”,并使用以下命令添加行:

DefaultTableModel model = (DefaultTableModel) gu.display.getModel();
model.addRow(new Object[] {"col1","col2"});

我想做的就是使用渲染器突出显示最后添加的行。调用它的代码是什么?

最佳答案

这个怎么样:

public JTable display = new JTable(model) {
@Override
public Component prepareRenderer(TableCellRenderer renderer, int row,
            int column) {
        Component c = super.prepareRenderer(renderer, row, column);
        if (row == getColumnCount()) {
            c.setBackground(Color.GREEN);
        } else {
            if (row % 2 == 0) {
                c.setBackground(UIManager.getColor("Table.background"));
            } else {
                c.setBackground(UIManager
                        .getColor("Table.alternateRowColor"));
            }
        }
        return c;
    }

};

关于java - Jtable tablecell渲染器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25002050/

相关文章:

java - 如何修复 "Exception in thread "main"java.util.NoSuchElementException : No line found"and other two errors?

Java JComboBox 是否可以将 editable true 设置为仅一项?

java - 如何在绘图面板上选择形状?

java - 为 boolean 值设置 Jtable/Column Renderer

java - 在 swing 中撤消 JTable

java - JTable 上的 JPopupMenu -> 获取创建菜单的单元格

java - org.apache.hadoop.hdfs.DFSInputStream 中的 NoSuchMethodError

java - PMD - Java 8 - 德米特定律

JavaFX 8 3D 动画

java - 运行 JAR 文件时右键菜单损坏