summaryrefslogtreecommitdiff
path: root/gnu/java/awt/peer/gtk/GtkButtonPeer.java
diff options
context:
space:
mode:
authorPaul Fisher <rao@gnu.org>1999-01-26 07:07:49 +0000
committerPaul Fisher <rao@gnu.org>1999-01-26 07:07:49 +0000
commitdf5a7a6e3afdad661b65479a2b22093099fe996d (patch)
tree68f65522af971ebd66ee648a93dff686939c4019 /gnu/java/awt/peer/gtk/GtkButtonPeer.java
parent06021d2ae0e7534c7f25c75d2cdff8686cbd14ba (diff)
downloadclasspath-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.java13
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);
}
}