【问题标题】:Add "setRowColor" Method to DefaultTableModel将“setRowColor”方法添加到 DefaultTableModel
【发布时间】:2015-05-15 13:45:38
【问题描述】:

我想用一个函数扩展 DefaultTableModel 类,让我设置特定行的颜色。所以假设我有一个有 30 行的表,并且想将第 12 行涂成红色。

我想调用如下函数:

JTable table = new JTable();
DefaultTableModel model = new DefaultTableModel();
table.setModel(model);

[...]

model.setRowColor(12, Color.RED);

[...]

我知道关于“为 JTable 行着色”主题有很多类似的问题,但我无法实现这些解决方案中的任何一个。也许有人可以帮助我理解自定义渲染器以及如何实现我的自定义方法。

【问题讨论】:

  • 有两种方法 1. prepareRenderer(API 中实现的最简单的方法和方法)在装饰取决于存储在 DefaultTableModel 中的值的情况下,2. 在模型中存储颜色数组作为如果值来自 GUI 的其余部分的参数
  • 同意down_voter,这里有很多SSCCE/MCVE形式的代码,我想,确保线程保护你的问题的链接,表明你的努力
  • TableModel 不负责执行此操作,请让渲染器执行此操作...或使用提供突出显示功能的 SwingLabs SwingX 库中的 JXTable
  • 您正在做出哪些决定让行具有不同的颜色?
  • 一个决定是如果包含布尔值的单元格为真(选中),则相应的行应为绿色。

标签: java swing jtable awt defaulttablemodel


【解决方案1】:

如果包含布尔值的单元格为真(选中),则相应的行应为绿色。

Table Row Rendering 展示了如何根据行中的值为行着色。

【讨论】:

    猜你喜欢
    • 2011-05-18
    • 2013-02-17
    • 2021-03-01
    • 1970-01-01
    • 2016-03-21
    • 2011-08-20
    • 2014-06-18
    • 2011-01-08
    • 2011-07-28
    相关资源
    最近更新 更多