【问题标题】:Changing JTable row to bold depending on value (using prepareRenderer)根据值将 JTable 行更改为粗体(使用 prepareRenderer)
【发布时间】:2014-03-11 16:56:57
【问题描述】:

所以,目前我正在根据条件更改整行的颜色。它正在工作。我在 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;
}

但是,现在我想将字体的样式更改为 bold。我似乎找不到如何操作 Component 对象的字体。谁能建议我看什么?是否可以以与 JLabel 相同的方式使用 HTML?

提前谢谢你

【问题讨论】:

  • 请 1. 什么是真正的目标(... , int row, int column), 2. 为什么解析将整数放入 XxxTableModel, 3. 必须在单元格的其余部分重置颜色, 4. 为了更好的帮助尽快发布 SSCCE 或 MCVE 或MCTRE,短,可运行,可在局部变量中使用 JTable/XxxTableModel 的硬编码值进行编译
  • @mKorbel 嗨..我真的不明白你在说什么..

标签: java swing fonts jtable


【解决方案1】:

啊,找到答案了!

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

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

希望这可以帮助那里的人! :)

【讨论】:

    猜你喜欢
    • 2017-04-27
    • 2014-05-31
    • 2019-04-08
    • 1970-01-01
    • 1970-01-01
    • 2014-09-10
    • 2019-12-27
    • 2014-07-17
    • 1970-01-01
    相关资源
    最近更新 更多