java:何时调用此方法:getTableCellRendererComponent?

2024-04-05

为了设置特定表格单元格的颜色,我应该创建一个自定义 TableCellRenderer ,它具有以下方法:getTableCellRendererComponent.

什么时候调用这个方法:getTableCellRendererComponent ?

就当一个JTable是第一次绘制吗?

如果我在 jframe 上有一组按钮和一个 jtable,并且按下每个按钮时都会导致表中一定数量的单元格着色,我该如何导致此方法"getTableCellRendererComponent"当我按下按钮时被呼叫?


当表格首次呈现时会触发此函数,但应在所有单元格上调用fireTableCell更新 http://download.oracle.com/javase/6/docs/api/javax/swing/table/AbstractTableModel.html#fireTableCellUpdated%28int,%20int%29或调用任何其他“fire*”方法。我的印象是,您正在使用一个扩展 AbstractTableModel (DefaultTableModel?) 的类,此时当您更新表模型的特定值时,应该触发这些方法。

使用自定义单元格渲染器的示例可以在以下位置找到:示例仓库 http://www.exampledepot.com/egs/javax.swing.table/CustRend.html。当将单元格带入视图以及发生模型更新时,将调用 getTableCellRendererComponent。

Addendum:我刚刚注意到你问题的另一部分,getTableCellRendererComponent 何时被调用?对于必须呈现的表中的每个可见单元格都会调用此方法。这样想,如果您在内部使用 JLabel 作为渲染器,您将返回配置为仅显示该单元格的 JLabel。它将在下一个单元格上重用以进行渲染。最简单的思考方法是您希望单元格看起来像一个可视模板,您可以在 getTableCellRendererComponent 调用上配置它,然后返回它。调用框架将其作为“图像”(由于缺乏更好的术语)呈现到屏幕缓冲区,然后为下一个单元重新配置并再次呈现。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java:何时调用此方法:getTableCellRendererComponent? 的相关文章

随机推荐