From c2a5226c0cc44da93d397aa716b940ab62ba69b2 Mon Sep 17 00:00:00 2001 From: Radek Davidek Date: Thu, 15 Jan 2026 12:20:18 +0100 Subject: [PATCH] esc works --- src/main/java/com/kfmanager/ui/MainWindow.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/kfmanager/ui/MainWindow.java b/src/main/java/com/kfmanager/ui/MainWindow.java index 11cad6d..89765d7 100644 --- a/src/main/java/com/kfmanager/ui/MainWindow.java +++ b/src/main/java/com/kfmanager/ui/MainWindow.java @@ -221,6 +221,7 @@ public class MainWindow extends JFrame { commandLine = new JTextField(); commandLine.setFont(new Font("Monospaced", Font.PLAIN, 12)); + commandLine.setFocusTraversalKeysEnabled(false); commandLine.addActionListener(e -> executeCommand(commandLine.getText())); // Let the panels catch focus back if user presses ESC or TAB in command line @@ -229,10 +230,10 @@ public class MainWindow extends JFrame { public void keyPressed(KeyEvent e) { if (e.getKeyCode() == KeyEvent.VK_ESCAPE) { commandLine.setText(""); - activePanel.getFileTable().requestFocus(); + activePanel.getFileTable().requestFocusInWindow(); e.consume(); } else if (e.getKeyCode() == KeyEvent.VK_TAB) { - activePanel.getFileTable().requestFocus(); + activePanel.getFileTable().requestFocusInWindow(); e.consume(); } } @@ -559,10 +560,8 @@ public class MainWindow extends JFrame { // ESC - global escape to return focus to panels rootPane.registerKeyboardAction(e -> { if (activePanel != null) { - // If it's the command line, clear it too (though it has its own listener) - if (commandLine.hasFocus()) { - commandLine.setText(""); - } + // Always clear command line and return focus to panels + commandLine.setText(""); activePanel.getFileTable().requestFocusInWindow(); } }, KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0), @@ -782,6 +781,7 @@ public class MainWindow extends JFrame { } else { commandLine.setText(current + toAdd); } + commandLine.requestFocusInWindow(); } }