我有一个jTable,它当前显示并允许编辑数据库表,我现在正在尝试对添加元组进行排序。
我试图让它在底部的向下箭头上自动添加一行。因此,如果我位于桌面的底部并单击向下箭头,则会在下方显示一个新行。我只是想不出怎么做。
由于 詹姆斯
答案 0 :(得分:2)
JTable
中javax.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
}
格尔茨,
斯泰恩