java怎么固定table的第一行_java-如何将我的JTable中第一行的颜色设置为...

我已经阅读了很多有关Java中CellRendering的知识,并且还从这个很棒的站点访问了其他Q& A.不幸的是,我仍然没有找到以下问题的解决方案:

我想呈现一个显示StatusEvents的JTable-这对于监视正在运行的系统是必需的.但是,这些StatusEvents由时间戳,文本和颜色组成.

我的目标是启用多个彩色行.为了实现这一点,我已经定义了一个新的JTable子类(在Inseration过程中重载了与正在绘制的Row相关的“ getCellRenderer”)和一个新的TableCellRenderer-Subclass,该子类将Color应用于单元格.

方法如下所示:

MyCustomJTable:

@Override

public TableCellRenderer getCellRenderer(int row, int column) {

TableCellRenderer result = super.getCellRenderer(row, column);

if ( row == 0 )

{

result = colcr;

}

return result;

}

colcr是我的自定义CellRenderer,它以以前设置的特定颜色为Cell着色.

新的Cell Renderer外观如??下:

public class ColorCellRenderer extends DefaultTableCellRenderer {

ColorCellRenderer ( )

{

this.m_Color = null;

}

@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);

if ( m_Color != null )

{

if ( row == 0 && column == 0)

{

c.setForeground(m_Color);

}

}

return c;

}

public void setColor ( Color c )

{

this.m_Color = c;

}

private Color m_Color;

}

不幸的是,当前解决方案仅使用最新配置的颜色为第一行着色,但是先前着色的行会丢失其颜色并默认进行格式化.

我有什么可能避免这种行为?

诚挚

马库斯

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值