【发布时间】:2023-11-17 17:57:01
【问题描述】:
我想在按回车时水平遍历 JTable。我试过JTable.changeSelection,但它似乎不起作用。任何想法如何改变遍历行为?
【问题讨论】:
标签: java swing jtable traversal
我想在按回车时水平遍历 JTable。我试过JTable.changeSelection,但它似乎不起作用。任何想法如何改变遍历行为?
【问题讨论】:
标签: java swing jtable traversal
阅读Key Bindings。您可能希望“使用不同的 KeyStroke 共享一个动作”
【讨论】:
Enter 是垂直遍历,TAB 是水平遍历,只要按住 Enter 事件并生成 Tab 事件或为 Tab 事件调用函数。但是你应该设置下一个属性:
table.setSelectionMode(
ListSelectionModel.SINGLE_SELECTION);
【讨论】:
JTable.getInputMap(JInternalFrame.WHEN_ANCESTOR_OF _FOCUSED_COMPONENT)
.put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "SOME_ACTION");
JTable.getInputMap(JInternalFrame.WHEN_FOCUSED)
.put(KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0), "SOME_ACTION");
JTable.getActionMap().put("SOME_ACTION", actions);
actions = new AbstractAction() {
public void actionPerformed(ActionEvent ae) {
//This action will get fired on Enter Key
}
};
【讨论】: