根据值将JTable行更改为粗体(使用prepareRenderer)

时间:2014-03-11 08:53:28

标签: java swing fonts jtable

所以,目前我正在根据条件改变整行的颜色。它正在发挥作用。我在 JTable对象中覆盖了prepareRenderer()

public Component prepareRenderer(TableCellRenderer renderer, int row, int column) {
    Component cellInTable = super.prepareRenderer(renderer, row, column);
    Color textColor;
    ArrayList<Integer> numbers = new ArrayList<Integer>();
    numbers = appManager.checkNumbers();
    cellInTable.setForeground(Color.BLACK);
    for (Integer no : numbers) {
        if (racesModel.getValueAt(row, 1).toString().equals(no.toString()) {
            textColor = new Color(205, 205, 205);
            cellInTable.setForeground(textColor);
            return cellInTable;
        }
    }
    return cellInTable;
}

但是,现在我想将字体的样式更改为粗体。我似乎无法找到如何操纵Component对象的字体。任何人都可以建议我看一下吗?是否有可能以某种方式使用HTML,就像JLabel一样?

提前谢谢

1 个答案:

答案 0 :(得分:0)

啊,找到了答案!

我发现Java有一个Font类。我使用了getFont()然后使用了setFont()!

Font oldFont = cellInTable.getFont();                           
cellInTable.setFont(oldFont.deriveFont(Font.BOLD));

希望这有助于那里的人! :)