/***********************************************************/ /* Prof. Dr. Carsten Vogt */ /* FH Koeln, Fak. 07 / Nachrichtentechnik */ /* http://www.nt.fh-koeln.de/vogt */ /* */ /* Das Programm zeigt den Umgang mit Tastatur-Ereignissen. */ /***********************************************************/ import java.awt.*; import java.awt.event.*; import javax.swing.*; class KeyTestFrame extends JFrame { JTextField ausgabe; // zur Ausgabe der Ereignisse des WindowListeners // Konstruktor KeyTestFrame(String s) { // Erzeugen des Rahmens des Hauptfensters: super(s); Container c = getContentPane(); c.setLayout(new FlowLayout()); c.setForeground(Color.black); // Hinzufuegen des Textfelds, // in dem die erkannten Ereignisse ausgegeben werden: ausgabe = new JTextField(25); ausgabe.setFont(new Font("Arial",Font.BOLD,20)); ausgabe.setForeground(Color.blue); c.add(ausgabe); // Komponenten anordnen und sichtbar machen: setLocation(200,200); setSize(500,150); setVisible(true); ausgabe.addKeyListener(new MeinKeyListener()); } // Definition des KeyListeners: reagiert auf Tastatur-Ereignisse class MeinKeyListener implements KeyListener { public void keyPressed(KeyEvent e) { StringBuffer stb = new StringBuffer("Taste gedrueckt"); if (e.isAltDown()) stb.append(" ALT"); if (e.isAltGraphDown()) stb.append(" ALTGR"); if (e.isControlDown()) stb.append(" CTRL"); if (e.isShiftDown()) stb.append(" Shift"); System.out.println(stb); ausgabe.setText(stb.toString()); } public void keyReleased(KeyEvent e) { System.out.println("Taste losgelassen"); ausgabe.setText("Taste losgelassen"); } public void keyTyped(KeyEvent e) { } } } // Hauptprogramm: erzeugt den Frame public class KeyEvents { public static void main(String args[]) { new KeyTestFrame("Key-Tests"); } }