我在NetBeans IDE中创建了一个JTable。当用户到达表的右下角并按下TAB键时,我想向表中添加一个新行。我尝试过更改keyPressed,keyReleased和keyTyped属性的NetBeans IDE选项,但没有任何反应。这是我试过的。
private void tblInterestIncomeKeyPressed(java.awt.event.KeyEvent evt)
{
if (evt.getKeyCode() == KeyEvent.VK_TAB)
{
System.out.println("Released tab key");
model.addRow(new Object[]
{
""
});
System.out.println("Got to this point");
}
}
我正在努力教自己。我在本网站上看到了其他建议,但它们并不适用于NetBeans IDE GUI创建。谢谢你的帮助。
答案 0 :(得分:1)
Swing组件使用Key Bindings
将KeyStroke
绑定到Action
。 Action
键的默认Tab
是移动到下一个单元格。因此,您需要创建自定义Action
。
您可以通过扩展Action
并将您的逻辑添加到actionPerformed()方法来创建自定义AbstractAction
。然后,您需要替换当前的键绑定以映射到您自己的Action。查看Key Bindings,了解有关如何替换绑定的示例代码。
或者您可以查看Table Tabbing。这使用包装器类来帮助简化键绑定过程,因此您需要实现的只是actionPerformed()
方法中的逻辑。
此示例显示如何使用自定义Tab Action
替换默认Action
,该自定义TableModel
仅会标记为可编辑的单元格。您需要自定义此操作以向.js.liquid
添加新行。