我有一个存储数据库查询结果的 JTable,到目前为止一切顺利。我想要的是每个表中的最后一列有一个可点击的 JButton,它将打开该行中表示的对象的编辑屏幕,这意味着该按钮将需要从它的表中知道表中第一列的详细信息自己的行(数据库中的 ID)。
有什么建议吗?我已经尝试只添加 JButtons,但是当我尝试运行它时它们变成了文本。
与上面的教程相反,有一种方法可以做到这一点,而无需复杂的定位数学、自定义鼠标侦听器和自定义表格模型。相反,它可以通过遵循此处描述的模式的单个简单自定义类来完成:
您可能还会发现我关于类似主题的教程(在这种情况下,使用 JPanel)也很有帮助:Custom JPanel cell with JButtons in JTable
看看 Sun 对JTable
组件的介绍,特别是关于Editors 和 Renderers的部分。它讨论了alternativeCellRenderers
和CellEditors
. 您需要做的是创建(或借用) aButtonCellRenderer
和 aButtonCellEditor
然后将它们应用到您的JTable
. 链接文章中的示例应为您提供所需的所有信息。