G
Guest
Gast
ich bin gerade dabei ein PingPong Spiel zu programmieren, bzw ich versuche es:
ich habe 2 klassen bis jetzt
PingPongGUI
Rechteck(Die klasse für die 2 Schläger)
ich will der GUI einen KeyListener(Klasse Rechteck) geben
nur das lasst sie nicht zu.
und ich weiß auch nicht ob ich bei der GUI(JFrame) " ping.getContentPane().add(this) " machen kann oder wem sollte ich das sonst zuweisen ?
der KeyListener ist doch dazu da damit ich die Schläger bewegen kann, oder ?
ich habe 2 klassen bis jetzt
PingPongGUI
Rechteck(Die klasse für die 2 Schläger)
ich will der GUI einen KeyListener(Klasse Rechteck) geben
nur das lasst sie nicht zu.
und ich weiß auch nicht ob ich bei der GUI(JFrame) " ping.getContentPane().add(this) " machen kann oder wem sollte ich das sonst zuweisen ?
der KeyListener ist doch dazu da damit ich die Schläger bewegen kann, oder ?
Code:
Rechteck
import java.awt.Graphics;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import javax.swing.JPanel;
/*
* Rechteck.java
*
public class Rechteck implements KeyListener
{
int x;
int y;
Graphics g;
JPanel p;
PingPongGUI ping;
/** Creates a new instance of Rechteck */
public Rechteck(int x, int y, JPanel p,PingPongGUI ping)
{
this.x = x;
this.y = y;
this.p = p;
g = p.getGraphics();
this.ping = ping;
ping.getContentPane().add(this) <----- HIER FEHLER!!
ping.addKeyListener(this);
}
public void zeichne()
{
g.drawRect(x,y,20,60);
}
public void keyTyped(KeyEvent e) {
}
public void keyPressed(KeyEvent e)
{
int a = e.getKeyCode();
//int b = e.getKeyText(2);
int key = e.getKeyChar();
System.out.println("sss"+ key+""+a+"");
}
public void keyReleased(KeyEvent e)
{
int a = e.getKeyCode();
//int b = e.getKeyText(2);
int key = e.getKeyChar();
System.out.println("sss"+ key+""+a+"");
}
}
PingPongGUI
public class PingPongGUI extends javax.swing.JFrame {
Rechteck r;
/** Creates new form PingPongGUI */
public PingPongGUI()
{
initComponents();
}
private void OnStart(java.awt.event.ActionEvent evt) {
r = new Rechteck(10,30,pnSpiel,this);
r.zeichne();
}
/**
* @param args the command line arguments
*/
public static void main(String args[]) {
java.awt.EventQueue.invokeLater(new Runnable() {
public void run() {
new PingPongGUI().setVisible(true);
}
});
}