我试图在Jtable中单击“Ctrl + A”以选择所有行时启用JButton,因此我执行此代码:
myTable.addKeyListener( new KeyListener() {
@Override
public void keyReleased(KeyEvent e) {
if( e.getKeyCode() == KeyEvent.VK_A && ( e.getModifiers() & InputEvent.CTRL_MASK ) != 0 ) { // User clicked (CTRL + A) in table.
if( myTable.getRowCount() > 1 )
myButton.setEnabled( true );
}
}
});
问题是很多次这不起作用...每次表中的所有行都被选中,但是按钮没有启用!我必须单击“Ctrl + A”3或4次才能使用。有什么关于我应该知道的,或者更好的想法让它起作用吗?
答案 0 :(得分:1)
尝试覆盖keyPressed
而不是keyReleased
。
答案 1 :(得分:0)
或更好的想法让它起作用?
您应该使用Key Bindings,而不是KeyListener。