Skip to content

Instantly share code, notes, and snippets.

@rakesh-patnaik
Last active March 13, 2017 19:33
Show Gist options
  • Save rakesh-patnaik/dcde1cb21b2d93df6d74308e0571cf4b to your computer and use it in GitHub Desktop.
Save rakesh-patnaik/dcde1cb21b2d93df6d74308e0571cf4b to your computer and use it in GitHub Desktop.
import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class TestKeyboardInput extends JFrame implements KeyListener {
private static JTextArea displayArea;
private static JTextField typingArea;
@Override
public void keyTyped(KeyEvent e) {
char typedChar = e.getKeyChar();
char transformedChar = (char) (typedChar + 1);
displayArea.append("You typed: " + typedChar + "\nBut I say it is: " + transformedChar + "\n");
e.setKeyChar(transformedChar);
}
public static void main(String args[]) throws Exception {
javax.swing.SwingUtilities.invokeLater(new Runnable() {
public void run() {
TestKeyboardInput frame = new TestKeyboardInput();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
typingArea = new JTextField(20);
typingArea.addKeyListener(frame);
displayArea = new JTextArea();
displayArea.setEditable(false);
JScrollPane scrollPane = new JScrollPane(displayArea);
scrollPane.setPreferredSize(new Dimension(375, 125));
frame.getContentPane().add(typingArea, BorderLayout.PAGE_START);
frame.getContentPane().add(scrollPane, BorderLayout.CENTER);
frame.pack();
frame.setVisible(true);
}
});
}
@Override
public void keyPressed(KeyEvent e) {
}
@Override
public void keyReleased(KeyEvent e) {
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment