在底部的向下箭头上向jTable添加一行

时间:2011-03-08 09:43:49

标签: java swing jtable

我有一个jTable,它当前显示并允许编辑数据库表,我现在正在尝试对添加元组进行排序。

我试图让它在底部的向下箭头上自动添加一行。因此,如果我位于桌面的底部并单击向下箭头,则会在下方显示一个新行。我只是想不出怎么做。

由于 詹姆斯

3 个答案:

答案 0 :(得分:2)

JTablejavax.swing.plaf.basic.BasicTableUI的动作处理。在您的情况下,您可能需要为SCROLL_DOWN_CHANGE_SELECTION注册新操作。在操作中,检查当前选择==表的最后一行。

如果这不起作用,请在javax.swing.plaf.basic.BasicTableUI.Actions.actionPerformed(ActionEvent)中设置一个断点,以查看哪个操作确实已执行。

答案 1 :(得分:2)

JTable对向下箭头键有一个默认的Action。如果要更改此行为,则需要创建自定义操作。您可以使用Wrapping Actions概念轻松完成此操作,以利用默认代码。

您还可以查看Table Tabbing以了解包装Action的实际示例。 Action的代码会更简单,类似于:

if (last row is selected)
    add a new row to the table

invoke the default down arrow action

答案 2 :(得分:1)

您需要创建一个KeyListener并将其添加到您的表中:

public void keyReleased(KeyEvent e) {
  int keyCode = e.getKeyCode();
  if (keyCode == KeyEvent.VK_DOWN)
        // check if selected table row = last row and if so: add new row to table model
}

格尔茨,
斯泰恩