【问题标题】:Displaying HTML in a JTable在 JTable 中显示 HTML
【发布时间】:2012-02-06 07:20:18
【问题描述】:

谁能提供一个如何在 JTable 的单元格中显示 HTML 的示例?我知道这可以为其他 Swing 组件完成,但我似乎无法为 JTables 弄明白。

【问题讨论】:

  • What have you tried? SO 不是代码工厂。
  • 你想在 HTML 中显示什么?默认的单元格渲染器是JLabel,因此您可以通过将内容包装在<html></html> 中来做一些基本的HTML。
  • @AndrewThompson,您是在说“我该怎么做 X?”不是一个有效的问题? SO 也不是“纠正我的代码”工厂——常见问题解答说“......如果您的问题通常涵盖特定的编程问题......那么您来对地方提出问题了!” 可能需要每个问题的代码,但这不是必需的。
  • @Paul 这是我通常保留给那些声称 “我似乎无法为 JTables 弄清楚” 之类的人的评论,如果他们似乎无法弄清楚,从逻辑上讲,他们一定尝试过一些事情。这导致我询问“你尝试过什么?”所以当你挑战“你说“我该怎么做X?”不是一个有效的问题?”我的第一反应是在阅读什么帖子/评论?”

标签: java html swing jtable


【解决方案1】:

除其他外,我在单元格渲染器标签实现中重写了此方法:

  @Override
  protected void firePropertyChange(String propertyName, Object oldValue, Object newValue)
  {
    // empty override for performance reasons.
  }

一旦我删除了覆盖,HTML 渲染就开始工作了。

【讨论】:

    【解决方案2】:

    Swing tutorial 中描述了如何在 Swing 组件中使用 HTML。如果你将它与JTable tutorial 结合起来,更具体地说,与Editors and rendererscustom renderers 的部分结合起来,你应该会走得很远。

    总结所有这些链接:要么您的 TableModel 包含 HTML 格式的 String 实例,然后所有这些都将与标准渲染器一起使用。否则,您可以调整渲染器以将模型值转换为 HTML 字符串并显示在例如 JLabel

    【讨论】:

      【解决方案3】:

      您是否记得按照<html>...</html><html> 放在HTML 标记周围? JTable 中的默认字符串渲染器使用JLabel,所以这应该可以工作。只需将字符串设置为单元格值即可。

      【讨论】:

        猜你喜欢
        • 2012-10-29
        • 1970-01-01
        • 2017-05-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-01-23
        • 2014-05-06
        相关资源
        最近更新 更多