【问题标题】:changing Jtable row font to bold将 Jtable 行字体更改为粗体
【发布时间】:2017-04-27 10:29:03
【问题描述】:

我在 java 中有一个 JTable,我想知道如何根据整数值将字体修改为粗体。我目前有这张表,我想根据教练中的人数更改行的字体。我还是新手,我不知道该怎么做。我需要一个可以执行以下操作的解决方案:

 if (num_people >17 && num_people<26){
     //change row font to bold
}

这是一个例子,如果按照我已经拥有的图像,我需要什么:

链接到我当前的代码: https://gist.github.com/anonymous/015022f7ad55ff9664e2edaea6a58d5a

【问题讨论】:

  • 每天给出相同的答案,有的会出现两次或更多。使用渲染器。 “想根据教练中的人数更改行的字体。我还是挥杆新手,我不知道如何做到这一点”这就是你应该这样做的原因How to Use Tables 教程,你显然没有做过。
  • @AndrewThompson the hoe to use tables 教程没有显示如何使文本变为粗体。我试图找到它,但我找不到。 mbye 你可以帮我指出来
  • 哦,大声哭泣.. 它并没有显示做所有可能的事情的所有变体,因为您应该能够将 API 的不同部分用于不同的事情!你确定你适合编程吗?

标签: java swing fonts formatting jtable


【解决方案1】:
public class CellRenderer extends DefaultTableCellRenderer {

private static final long serialVersionUID = 1L;

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

    if (value>17 value<26) {
        this.setValue(table.getValueAt(row, column));
        this.setFont(this.getFont().deriveFont(Font.BOLD));
    }
    return this;
}
}

这就是单元格渲染器使用粗体的样子。我没有测试它。您在初始化 JTable 后调用 table.getColumnModel().getColumn(x).setCellRenderer(new CellRenderer()); 并为您希望应用该字体的每一列调用它。

【讨论】:

  • 我在哪里粘贴这个?
  • @SakshamGoyal 新类并将其与table.getColumnModel().getColumn(x).setCellRenderer(new CellRenderer()); 一起使用,其中 x 是您要更改的列。如果它的每一列,遍历它们
  • 请记住我是swing新手,如果您查看我放在顶部的代码,请您使用它并告诉我如何操作。我以前从未使用过秋千。也许你可以编辑你的答案,所以我知道该怎么做。
  • 你能帮我投票吗?我没有什么名声。
  • 现在我正在休息并做其他事情。我稍后会回到这个程序
【解决方案2】:

查看Table Row Rendering。它显示了如何通过覆盖prepareRenderer(....) 方法将渲染应用于表中的给定行。当您为每列使用不同的渲染器时,这尤其有用。

您确实应该为表中的某些列使用不同的渲染器。一些单元格应该呈现字符串,而一些应该呈现通常将值显示为右对齐的数字值。

您还可以查看Table Format Renderers,它可以更轻松地创建具有特殊数据格式的自定义渲染。

【讨论】:

  • 你能看看我的代码并给我看吗?我是新手,所以我不知道该怎么做
  • @SakshamGoyal,我确实向您展示了工作代码。按照链接下载工作代码示例。花一些时间了解它们的工作原理,然后根据您的确切要求自定义逻辑。 i am new to swing - 你通过尝试学习。您很少会找到完全符合您要求的代码示例。所以你需要理解这个概念,然后定制人们给你的代码作为例子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-04-08
  • 1970-01-01
  • 1970-01-01
  • 2021-05-14
  • 2013-04-13
  • 1970-01-01
  • 2017-09-05
相关资源
最近更新 更多