如何在JTable中加粗整行数据?

时间:2011-01-04 18:53:31

标签: java swing jtable

我正在做一个消息功能,我想大胆一条“read = No”的路,在我点击之后,它将变为read = yes,并且unbold ...我已经完成了数据库部分,但是我严重不知道怎么做表格渲染....请注意我在java中仍然很新鲜...所以,有人可以帮忙吗?非常感激!

3 个答案:

答案 0 :(得分:9)

你可以使用HTML

String str = "<html><b>this is bold</b> this is normal </html>";

答案 1 :(得分:5)

  

我想大胆一条“read = No”的道路,点击它之后,它会变成read = yes,并且是unbold ...

使用Table Row Rendering方法根据行中的数据呈现行。修改给定示例中的代码将在需要时使用以下内容:

c.setFont(  c.getFont().deriveFont(Font.BOLD) );

答案 2 :(得分:2)

很抱歉恢复了一个旧帖子,但我正在寻找与此非常相似的东西并提出了我自己的解决方案(虽然它有点像Jigar的回答)。在我的例子中,我有一个脚本/程序表,显示当前版本(在第4列)和最新版本的脚本/程序(在第3列)。我希望能够更容易地发现那些不是最新的。我在其他地方看到的所有解决方案似乎都提供了一个涉及更改DefaultCellRenderer的方法,但没有提到如何在已填充的表上激活它(或者实际上,我可以看到)。结果,我通过“保持简单愚蠢”(简称KISS)的思维方式去研究我自己的方法,并想出了下面的代码......希望其他人觉得它很有用。

        for(int r=0;r<table.getRowCount();r++) {
            if(!table.getValueAt(r, 2).equals(table.getValueAt(r, 3))) {
                for(int c=0;c<table.getColumnCount();c++) {
                    table.setValueAt("<html><b>" + table.getValueAt(r, c) + "</b></html>", r, c);
                }
            }
        }

我确信还有其他更有效的方法......但是我能够提出我的(仍然有限的)Java知识,这在我的情况下确实有效。再次,抱歉恢复旧帖子,但我希望这能帮助其他类似情况下的其他人。

相关问题