0

我有一个 5x5 的 JTable,我想编写一个过程 setColorTable(JTable table, int Row, int Col),当调用过程 setColorTable 时,它​​将为表中的行和 col 设置背景颜色。每个人都可以帮助我。

太感谢了。

4

3 回答 3

1

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

尝试阅读本文JavaDoc

于 2012-10-17T09:28:01.600 回答
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();
    }
};
于 2012-10-17T09:34:14.253 回答
1

如何更改JTable中行的颜色

用于着色(Font,Foregroung,Backgroung,ei)整行有prepareRenderer

于 2012-10-17T10:34:56.770 回答