我有一个存储数据库查询结果的JTable,到目前为止非常好。我想要的是每个表中的最后一列都有一个可单击的JButton,它将打开该行中表示的对象的编辑屏幕,这意味着该按钮需要知道表中第一列的细节自己的行(数据库中的ID)。是否有可能将JButton包含在JTable中?
有什么建议吗?我已经尝试过添加JButton,但是当我尝试运行它时,它们变成了Text。
我有一个存储数据库查询结果的JTable,到目前为止非常好。我想要的是每个表中的最后一列都有一个可单击的JButton,它将打开该行中表示的对象的编辑屏幕,这意味着该按钮需要知道表中第一列的细节自己的行(数据库中的ID)。是否有可能将JButton包含在JTable中?
有什么建议吗?我已经尝试过添加JButton,但是当我尝试运行它时,它们变成了Text。
与上面的教程相反,没有复杂的定位数学运算,自定义鼠标侦听器和自定义表模型,可以这样做。相反,它可以用以下这里所描述的模式单一的简单的自定义类完成:
看看Sun对JTable
组件的介绍,特别是关于Editors and Renderers的部分。它讨论了使用替代CellRenderers
和CellEditors
。你需要做的是创建(或借用)ButtonCellRenderer
和ButtonCellEditor
,然后将它们应用于JTable
中的问题列。在链接文章中找到的例子应该会给你所需要的所有信息。
您也可以找到我的一个类似主题的教程(在这种情况下,使用一个JPanel)有帮助,以及: Custom JPanel cell with JButtons in JTable
除了让鼠标点击转发到ButtonCellRenderer的按钮外很容易。 – 2010-02-09 19:40:38
渲染器不接受事件。这是编辑的工作。在我给出的答案中看看我的教程。 – pek 2011-09-08 18:38:46