Java Swing专注于Tab键

时间:2013-01-04 16:48:46

标签: java swing

当我们使用“Tab”键时,有没有办法将焦点跳到特定组件。如果用户双击组件,则焦点应转到该文本。

2 个答案:

答案 0 :(得分:3)

所以基本上你想改变按下 Tab JTable功能?

Swing使用KeyBindings只需在keypressed等上替换Swing组件的现有功能,方法是向KeyBinding添加新的JTable(由于JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT而出现美感):

table.getInputMap(JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT).put(KeyStroke.getKeyStroke(KeyEvent.VK_TAB, 0), "tab");
table.getActionMap().put("tab", new AbstractAction() {
    @Override
    public void actionPerformed(ActionEvent ae) {
        //do something on JTable tab pressed or do nothing
    }
});

答案 1 :(得分:2)

尝试table_name.setFocusable(false);