diff options
author | Paul Fisher <rao@gnu.org> | 1999-01-26 07:07:49 +0000 |
---|---|---|
committer | Paul Fisher <rao@gnu.org> | 1999-01-26 07:07:49 +0000 |
commit | df5a7a6e3afdad661b65479a2b22093099fe996d (patch) | |
tree | 68f65522af971ebd66ee648a93dff686939c4019 /gnu/java/awt/peer/gtk/GtkButtonPeer.java | |
parent | 06021d2ae0e7534c7f25c75d2cdff8686cbd14ba (diff) | |
download | classpath-df5a7a6e3afdad661b65479a2b22093099fe996d.tar.gz |
Deliver key presses to widgets that have keyboard focus,
and fire an action event if space is pressed when a button has
keyboard focus.
Diffstat (limited to 'gnu/java/awt/peer/gtk/GtkButtonPeer.java')
-rw-r--r-- | gnu/java/awt/peer/gtk/GtkButtonPeer.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/gnu/java/awt/peer/gtk/GtkButtonPeer.java b/gnu/java/awt/peer/gtk/GtkButtonPeer.java index fdff61e26..0e2e8624b 100644 --- a/gnu/java/awt/peer/gtk/GtkButtonPeer.java +++ b/gnu/java/awt/peer/gtk/GtkButtonPeer.java @@ -22,6 +22,7 @@ package gnu.java.awt.peer.gtk; import java.awt.*; import java.awt.event.MouseEvent; +import java.awt.event.KeyEvent; import java.awt.peer.*; public class GtkButtonPeer extends GtkComponentPeer @@ -50,12 +51,20 @@ public class GtkButtonPeer extends GtkComponentPeer && !modalHasGrab ()) { MouseEvent me = (MouseEvent) e; - if (!me.isConsumed() - && (me.getModifiers() & MouseEvent.BUTTON1_MASK) != 0) + if (!me.isConsumed () + && (me.getModifiers () & MouseEvent.BUTTON1_MASK) != 0) postActionEvent (((Button)awtComponent).getActionCommand (), me.getModifiers ()); } + if (e.getID () == KeyEvent.KEY_PRESSED) + { + KeyEvent ke = (KeyEvent) e; + if (!ke.isConsumed () && ke.getKeyCode () == KeyEvent.VK_SPACE) + postActionEvent (((Button)awtComponent).getActionCommand (), + ke.getModifiers ()); + } + super.handleEvent (e); } } |