KeyStrokeHelper: Fix Component Issue

thobaben_serialize
Harald Wolff 2014-07-23 09:21:15 +02:00
parent 32a76ad8b5
commit 97b59d4ddd
1 changed files with 15 additions and 3 deletions

View File

@ -29,7 +29,7 @@ public class KeyStrokeHelper {
ArrayList<KeyStrokeListener> keystrokeListeners;
JComponent component;
JFrame frame;
boolean focusedWindow;
private boolean focusedWindow;
public KeyStrokeHelper(JComponent component)
{
@ -42,15 +42,19 @@ public class KeyStrokeHelper {
{
keystrokeListeners = new ArrayList<KeyStrokeListener>();
this.frame = frame;
this.component = frame.getRootPane();
this.focusedWindow = true;
}
public KeyStrokeHelper addKeyCode(int keyCode)
{
int focused;
if (focusedWindow)
frame.getRootPane().registerKeyboardAction(new KeyStrokeActionListener(keyCode), KeyStroke.getKeyStroke(keyCode, 0), JComponent.WHEN_IN_FOCUSED_WINDOW );
focused = JComponent.WHEN_IN_FOCUSED_WINDOW;
else
component.registerKeyboardAction(new KeyStrokeActionListener(keyCode), KeyStroke.getKeyStroke(keyCode, 0), JComponent.WHEN_FOCUSED);
focused = JComponent.WHEN_FOCUSED;
component.registerKeyboardAction(new KeyStrokeActionListener(keyCode), KeyStroke.getKeyStroke(keyCode, 0), focused);
return this;
}
@ -78,5 +82,13 @@ public class KeyStrokeHelper {
for (KeyStrokeListener listener:keystrokeListeners)
listener.keyStroke(new KeyStrokeParameters(keyCode));
}
public boolean isFocusedWindow() {
return focusedWindow;
}
public void setFocusedWindow(boolean focusedWindow) {
this.focusedWindow = focusedWindow;
}
}