我有像这样的JTable
我想在按下相应的清除按钮(JButton)时隐藏行。并执行其他任务,例如从表格填充数据库时从mysql中删除行。
因为我有两个覆盖功能: -
之一:
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column)
2:
public Component getTableCellEditorComponent(JTable table, Object value,
boolean isSelected, int row, int column)
我必须在哪里以及如何更改以实现此目的。或者任何其他可以帮助我的实现细节。谢谢
答案 0 :(得分:1)
所以基本上你希望JButton
删除TableModel
中的行。您没有显示任何相关代码或您拥有的TableModel
类型,但通常是:
- 写入监听器,它需要一种方法来访问你的模型
class MyListener
implements ActionListener
{
private TableModel model;
public MyListener( TableModel m )
{
this.model = m;
}
public void actionPerformed( ActionEvent e )
{
// do something to this.model
}
}
- 将其添加到按钮
button.addActionListener( new MyListener(myModel) );
- 很明显,你会发现你在桌面上看到的并不是一个功能齐全的JButton,而只是一个被绘制成看起来像的按钮。即使你附加了一个监听器,当你点击它时它仍然无法工作。
您需要解决最后一个问题。有许多不同的方法,其中许多方法都在this线程中列出。最基本的是劫持单元格编辑器让它将鼠标事件转发给JButton,这就是我过去所做的。链接线程中还有一些其他选项。祝你好运。
答案 1 :(得分:1)
Table Button Column显示了一种将ActionListener添加到表的列的方法。