在运行时更改标题的颜色

普拉莫德·亚达夫(Pramod Yadav)

我正在使用下面的代码来更改表格的颜色,它适用于行,但不适用于列。

DefaultTableCellRenderer defaultTableCellRenderer = new DefaultTableCellRenderer() {

        private static final long serialVersionUID = 1567316215541963628L;

        @Override
        public Component getTableCellRendererComponent(JTable table,
                Object value, boolean isSelected, boolean hasFocus, int row,
                int column) {

            Component c = super.getTableCellRendererComponent(table, value,
                    isSelected, hasFocus, row, column);
            c.setBackground(row % 2 == 0 ? Color.white : new Color(0xE8E8E8));
            c.setForeground(Color.black);

            // c.setForeground(Color.black);
            c.setFont(getFont().deriveFont(14.0f));

            if (row == table.getRowCount() - 1) {
                c.setForeground(Color.white);
                c.setBackground(Color.gray);
            }

            if (nameRownumber.contains(row)) {
                c.setBackground(Color.yellow);

            }
            if (nameColumnNumber.contains(column)) {
                c.setBackground(Color.yellow);
            }


            return c;
        };

    };

这里nameRownumbernameColumnNumber有型的ArrayList<Integer>,我在运行时赋予他们价值哪一行和列需要突出。

卡米克尔

表头使用其他渲染器。

您可以使用以下方法设置渲染器:

table.getTableHeader().setDefaultRenderer( ... );

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章