import javax.swing.*;
import java.awt.*;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

public class Frame1 extends JFrame {

    private JLabel jLabel1 = new JLabel();
    private JTextField jTextField1 = new JTextField();

    public Frame1()
    {
        try
        {
            jbInit();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }

    private void jbInit()
            throws Exception
    {
        this.getContentPane().setLayout( null );
        this.setSize( new Dimension(400, 300) );
        jLabel1.setText("jLabel1");
        jLabel1.setBounds(new Rectangle(55, 85, 310, 20));
        jTextField1.setBounds(new Rectangle(25, 20, 270, 30));
        this.getContentPane().add(jTextField1, null);
        this.getContentPane().add(jLabel1, null);


        jTextField1.addKeyListener(new KeyListener()
        {
            public void keyPressed(KeyEvent keyEvent)
            {
                int keyMod = keyEvent.getModifiers();
                int keyCode = keyEvent.getKeyCode();
                String text = "";
                if (keyMod != 0)
                    text = KeyEvent.getKeyModifiersText(keyMod) + " ";
                text += keyEvent.getKeyChar() + "  " + String.valueOf((char)keyCode)
                        + "  " + KeyEvent.getKeyText(keyCode);
                System.out.println("### " + Integer.toHexString(keyEvent.getKeyChar()) + ", " +
                    Integer.toHexString(keyEvent.getKeyCode()));

                jLabel1.setText(text);
            }

            public void keyTyped(KeyEvent keyEvent)
            {
                System.err.println("## Typed ## " + keyEvent);
            }

            public void keyReleased(KeyEvent keyEvent)
            {
            }
        });
    }

    public static void main(String[] args) {
        Frame1 f = new Frame1();
        f.pack();
        f.setSize(400, 300);
        f.setVisible(true);
        f.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
    }
} 