如何在JTable中更改行的颜色

时间:2012-10-17 09:11:49

标签: java swing colors jtable renderer

我有一个JTable 5x5,我想编写一个程序setColorTable(JTable table,int Row,int Col),当调用Procedure setColorTable时,它将setBackground颜色为row和col in table。每个人都可以帮助我。

非常感谢你。

3 个答案:

答案 0 :(得分:1)

您必须创建一个扩展Swing组件的自定义TableCellRenderer(如果您只想更改颜色,JLabel可能会满足您的需求),并实现TableCellRenderer接口。

尝试阅读thisJavaDoc

答案 1 :(得分:1)

您可以通过扩展javax.swing.table.DefaultTableCellRenderer编写自己的类,然后根据需要覆盖以下方法。

public class MyNewCellRenderer extends DefaultTableCellRenderer
{
@Override
    public Component getTableCellRendererComponent(
            JTable table, Object object,
            boolean isSelected, boolean hasFocus,
            int row, int column)
    {
        JLabel label = (JLabel) super.getTableCellRendererComponent(table, object, isSelected, hasFocus, row, column);
  label.setBackground(Color.WHITE);
    }
}

最后通过;

获取TableCellRenderer
jTable1 = new javax.swing.JTable()
{
    public TableCellRenderer getCellRenderer(int row, int column)
    {
        return new MyNewCellRenderer();
    }
};

答案 2 :(得分:1)

如何在JTable中更改行的颜色

用于着色(Font,前景,背景,e.i。)整行是prepareRenderer