JTable用于渲染器和编辑器的相同组件

时间:2016-03-30 14:43:10

标签: java swing jtable

我在我的应用程序中使用JTable。该表使用自定义渲染器来显示单元格中的组件,例如纽扣。一切正常,除非我点击一行,行中的按钮消失 我读过我应该使用组件的不同实例 一个用于渲染,另一个用于编辑。

但为什么我需要这样做?

我想使用相同的实例进行渲染和编辑。

1 个答案:

答案 0 :(得分:1)

  

一切正常,除非我点击一行,行中的按钮消失。

编辑器是一个真正的组件,可以添加到单元格区域的表中。该组件可以接收事件,用户可以与之交互。

渲染器仅用于绘制组件的图像。

因此,在表格如何工作的逻辑中,单个组件不能用于两个不同的功能。那将是一个糟糕的设计。你永远不应该有一个类或对象用于两个不同的东西。

在任何情况下,简单的解决方案是使用两个组件。

查看Table Button Column以获得也使用两个按钮的解决方案。我在研究这个问题时也意识到了同样的问题。