source: branches/1.1.x/examples/gui/awt/KeyAdapter.java

Last change on this file was 12731, checked in by Mark Evenson, 14 years ago

Move unused GUI code to examples hierarchy.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 1.6 KB
Line 
1/*
2 * KeyAdapter.java
3 *
4 * Copyright (C) 2003 Peter Graves
5 *
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU General Public License
8 * as published by the Free Software Foundation; either version 2
9 * of the License, or (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
19 */
20
21package awt;
22
23import org.armedbear.lisp.JHandler;
24import java.awt.Component;
25import java.awt.event.KeyEvent;
26
27public class KeyAdapter extends java.awt.event.KeyAdapter {
28
29    public static synchronized void addTo(Component component) {
30        component.addKeyListener(new KeyAdapter());
31    }
32
33    private void call(String s, KeyEvent keyevent) {
34        int ai[] = {
35            keyevent.getModifiers(), 
36      keyevent.isActionKey() ? 1 : 0, 
37      keyevent.getKeyCode()
38        };
39        JHandler.callLisp(s, keyevent.getComponent(), keyevent.paramString(), ai);
40    }
41
42    public void keyPressed(KeyEvent keyevent) {
43        call("KEYPRESSED", keyevent);
44    }
45
46    public void keyReleased(KeyEvent keyevent) {
47        call("KEYRELEASED", keyevent);
48    }
49
50    public void keyTyped(KeyEvent keyevent) {
51        call("KEYTYPED", keyevent);
52    }
53}
Note: See TracBrowser for help on using the repository browser.