当前位置: 首页 > 知识库问答 >
问题:

如何更改JTable中特定表头的背景色和特定列的字体颜色?

西门梓
2023-03-14

有没有办法更改JTable中3个带圆圈的表格标题的背景色?

我还想将所有3个带圆圈的列的字体颜色更改为红色。

下面是我桌子的图像。谢谢

共有1个答案

王英奕
2023-03-14

我知道的方法是创建一个TableCellRenderer,它将处理前景色和背景色的着色。

您可以创建一个颜色不变的简单着色方案。您经常在具有交替彩色行的表格中看到这一点。您也可以将其用于“条件格式”。例如,如果某个值低于某个值,则突出显示单元格。使用单元格渲染器,您将更好地控制此操作。

这里是Oracle渲染教程的链接。

最后,由于您的问题特别要求在特定单元格上执行此操作,因此链接留档说明

要指定特定于单元格的渲染器,您需要定义一个JTable子类来覆盖getCellRenader方法。例如,以下代码使表第一列中的第一个单元格使用自定义渲染器:

TableCellRenderer weirdRenderer = new WeirdRenderer();
table = new JTable(...) {
    public TableCellRenderer getCellRenderer(int row, int column) {
        if ((row == 0) && (column == 0)) {
            return weirdRenderer;
        }
        // else...
        return super.getCellRenderer(row, column);
    }
};
 类似资料:
  • 在开始之前,我查看了一些解决方案和文档。我似乎不明白为什么我的代码没有按我认为应该的方式工作。我已经扩展了DefaultTableCellRenderer,但我不相信它正在被应用——否则我就把事情搞砸了。 以下是我在发布此问题之前查看过的帖子/网站: Swing-是否可以在JTable单元格中设置特定文本的字体颜色? JTable细胞渲染器 http://docs.oracle.com/javas

  • 我试图弄清楚如何更改JTable中一行中单词的颜色。 例如,这是我的句子,在一行中; dmpsrv日志“2013年3月12日星期二15:33:03”(格林尼治标准时间)(DB=SS@2)pid=662node=“B2-W4”执行时间=1(s) 每一行的结构都是相同的,我想用粗体显示用户名。 但是我不知道我该怎么做?有人给点诡计吗? 谢谢

  • 我有一个Jtable,它由一个值数组填充。我的代码如下: 我可以使用JButton从值数组填充Jtable。我想有一个条件,如果列为“百分比”,则获取该列中的所有值 我不想使用TableCellRenderComponent。我希望在单击Jbutton时执行此操作。 然后根据我想要得到的,前两行应该以红色突出显示。谢谢你的帮助。

  • 问题内容: 我试过了: 不起作用 编辑:此代码仅在我的项目中不起作用。在其他项目中工作。我可能已经更改了阻止颜色更改的属性。也许NetBeans具有一些保留默认颜色的属性。我注意到了别的东西。我项目中标题的颜色以不同的方式闪烁。在可以进行颜色更改的示例中,我看到了不同的图形。 编辑2:其他。我注意到按钮也不会改变颜色。必须是通用的。希望这可以帮助。不幸的是,SSCCE在这种情况下不起作用,因为我无

  • 问题内容: 我有一个3列的JTable。我已经为所有3列设置了这样的代码(也许不是很有效?)。 在一个随机的背景颜色为每一行返回一个组件。 程序运行时如何将背景更改为其他随机颜色? 问题答案: 一种方法是存储模型中每一行的当前颜色。这是一个固定在3列3行的简单模型: 注意通话; 这将导致仅更新表的该行。 渲染器可以从表中获取模型: 更改行的颜色很简单:

  • 我添加了一个表,但问题是,面板没有显示其背景色。我试过设置滚动窗格的背景色等,但它不起作用。框架有一个按钮“验证”,单击该按钮时,在其下方显示一个表。在单击之前,表格将显示的部分为纯灰色。我希望整个部分是象牙背景。请帮我诊断这个问题。