Mega Code Archive

 
Categories / Java / Event
 

KeyListener, ActionListener Demo 1

/* Definitive Guide to Swing for Java 2, Second Edition By John Zukowski      ISBN: 1-893115-78-X Publisher: APress */ import java.awt.AWTEventMulticaster; import java.awt.BorderLayout; import java.awt.Canvas; import java.awt.Color; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyAdapter; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; import javax.swing.JFrame; import javax.swing.JTextField; public class KeyTextTester {   public static void main(String args[]) {     JFrame frame = new JFrame("Key Text Sample");     KeyTextComponent keyTextComponent = new KeyTextComponent();     final JTextField textField = new JTextField();     ActionListener actionListener = new ActionListener() {       public void actionPerformed(ActionEvent actionEvent) {         String keyText = actionEvent.getActionCommand();         textField.setText(keyText);       }     };     keyTextComponent.addActionListener(actionListener);     Container contentPane = frame.getContentPane();     contentPane.add(keyTextComponent, BorderLayout.CENTER);     contentPane.add(textField, BorderLayout.SOUTH);     frame.setSize(300, 200);     frame.setVisible(true);   } } class KeyTextComponent extends Canvas {   private ActionListener actionListenerList = null;   public KeyTextComponent() {     setBackground(Color.cyan);     KeyListener internalKeyListener = new KeyAdapter() {       public void keyPressed(KeyEvent keyEvent) {         if (actionListenerList != null) {           int keyCode = keyEvent.getKeyCode();           String keyText = KeyEvent.getKeyText(keyCode);           ActionEvent actionEvent = new ActionEvent(this,               ActionEvent.ACTION_PERFORMED, keyText);           actionListenerList.actionPerformed(actionEvent);         }       }     };     MouseListener internalMouseListener = new MouseAdapter() {       public void mousePressed(MouseEvent mouseEvent) {         requestFocus();       }     };     addKeyListener(internalKeyListener);     addMouseListener(internalMouseListener);   }   public void addActionListener(ActionListener actionListener) {     actionListenerList = AWTEventMulticaster.add(actionListenerList,         actionListener);   }   public void removeActionListener(ActionListener actionListener) {     actionListenerList = AWTEventMulticaster.remove(actionListenerList,         actionListener);   }   public boolean isFocusTraversable() {     return true;   } }