Overriding Many Default Typed Key Bindings in a JTextComponent : KeyListener « Swing Event « Java Tutorial

import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;

import javax.swing.JFrame;
import javax.swing.JTextField;
import javax.swing.text.BadLocationException;
import javax.swing.text.JTextComponent;

class MyKeyListener extends KeyAdapter {
  public void keyTyped(KeyEvent evt) {
    JTextComponent c = (JTextComponent) evt.getSource();
    char ch = evt.getKeyChar();

    if (Character.isLowerCase(ch) == false) {
    try {
      c.getDocument().insertString(c.getCaretPosition(), "" + Character.toUpperCase(ch), null);
    } catch (BadLocationException e) {

public class Main {
  public static void main(String[] argv) throws Exception {
    JTextField component = new JTextField();
    component.addKeyListener(new MyKeyListener());

    JFrame f = new JFrame();
    f.setSize(300, 300);

15.21.1.The KeyListener Interface
15.21.2.The event IDs that the KeyEvent class defines
15.21.3.How to Write a Key Listener
15.21.4.Demonstrates key eventsDemonstrates key events
15.21.5.KeyListener and KeyEvent
15.21.6.Handling Key Presses
15.21.7.Get key pressed as a key character (which is a Unicode character)
15.21.8.Get key pressed as a key code
15.21.9.Setting Focus Traversal Keys in a Component
15.21.10.Listing the Key Bindings in a Component
15.21.11.Make the ENTER key act like the TAB key
15.21.12.Overriding Many Default Typed Key Bindings in a JTextComponent