-
Help with pong game
Hi , I am trying to build a pong game. I just need to find some type of Keylistener that will help me know what the person typed. Like I know what they typed if I add a textbox, but I want them to type anywhere in my window and for my program to still be able to know what they did.
Eric
-
There are several ways to approach this.
Implement KeyListener:
Code:
import java.applet.Applet;
import java.awt.event.KeyListener;
import java.awt.event.KeyEvent;
public class KeyListenerExample extends Applet implements KeyListener {
public void init() {
addKeyListener(this);
}
public void keyPressed(KeyEvent e) {
System.out.println("keyPressed: " + e.getKeyChar());
}
public void keyTyped(KeyEvent e) {
System.out.println("keyTyped: " + e.getKeyChar());
}
public void keyReleased(KeyEvent e) {
System.out.println("keyReleased: " + e.getKeyChar());
}
}
Create an inner private class that extends a class that implements KeyListener, or that implements KeyListener itself:
Code:
import java.applet.Applet;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
public class KeyListenerExample extends Applet {
public void init() {
addKeyListener(new MyKeyListener());
}
private class MyKeyListener extends KeyAdapter {
public void keyPressed(KeyEvent e) {
System.out.println("keyPressed: " + e.getKeyChar());
}
public void keyTyped(KeyEvent e) {
System.out.println("keyTyped: " + e.getKeyChar());
}
public void keyReleased(KeyEvent e) {
System.out.println("keyReleased: " + e.getKeyChar());
}
}
}
Create an anonymous inner class:
Code:
import java.applet.Applet;
import java.awt.event.KeyListener;
import java.awt.event.KeyEvent;
public class KeyListenerExample extends Applet {
public void init() {
addKeyListener(new KeyListener() {
public void keyPressed(KeyEvent e) {
System.out.println("keyPressed: " + e.getKeyChar());
}
public void keyTyped(KeyEvent e) {
System.out.println("keyTyped: " + e.getKeyChar());
}
public void keyReleased(KeyEvent e) {
System.out.println("keyReleased: " + e.getKeyChar());
}
});
}
}
Greetings.
Marcus:cool:
-
If you look at the JFrame API, you'll notice that it inherits from Component, which provides the addKeyListener(KeyListener) method.
JFrame
Code:
import java.awt.Container;
import java.awt.Dimension;
import java.awt.event.KeyListener;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class KeyListenerExample extends JFrame {
public KeyListenerExample() {
super ("KeyListener Example");
JPanel panel = (JPanel) getContentPane();
panel.setPreferredSize(new Dimension(800, 600));
panel.setLayout(null);
pack();
setResizable(false);
setVisible(true);
addKeyListener(new KeyListener() {
public void keyPressed(KeyEvent e) {
System.out.println("keyPressed: " + e.getKeyChar());
}
public void keyTyped(KeyEvent e) {
System.out.println("keyTyped: " + e.getKeyChar());
}
public void keyReleased(KeyEvent e) {
System.out.println("keyReleased: " + e.getKeyChar());
}
});
}
static public void main(String[] args) {
new KeyListenerExample();
}
}
Greetings.
Felissa:p