gpt4 book ai didi

swing - 特定的一个表头颜色 java swing

转载 作者:行者123 更新时间:2023-12-03 07:11:21 29 4
gpt4 key购买 nike

我想更改特定表头的背景颜色。在我的应用程序中,我必须将当前月份的标题颜色设置为红色。 enter image description here我的代码在这里::

     jTable1.getTableHeader().
setDefaultRenderer(
new DefaultTableHeaderCellRenderer());



@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
super.getTableCellRendererComponent(table, value,
isSelected, hasFocus, row, column);
JTableHeader tableHeader = table.getTableHeader();

if(column==1)
tableHeader.setBackground(Color.red);


return this;
}

这使得所有标题颜色都变成红色。请给我一些建议。提前致谢。

最佳答案

DefaultTableCellRenderer 臭名昭著的颜色内存:-) 你必须

  • 始终设置背景颜色:即针对正常状态和突出显示状态
  • 在调用 super 之前执行此操作

类似于:

  @Override
public Component getTableCellRendererComponent(JTable table,
Object value, boolean isSelected, boolean hasFocus, int row,
int column) {
if (myHighlightCondition) {
setBackground(Color.RED);
} else {
setBackground(null);
}
super.getTableCellRendererComponent(table, value, isSelected, hasFocus,
row, column);
return this;
}

有关更多详细信息(以及为什么需要这样做),请参阅 How do I correctly use custom renderers to paint specific cells in a JTable?

关于swing - 特定的一个表头颜色 java swing,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9838006/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com