Cory
17-07-2009, 17:33
Sto facendo un programma che, disegnato un pallino al centro di un pannello, lo sposti di 10 pixel alla pressione di 'a', 's', 'w' e 'z'. Tuttavia nella classe che implementa il Key Listener non so bene che scrivere..ecco come l'ho fatta per ora.
package ex3;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Pane extends JPanel{
Dimension paneSize=this.getSize();
int x=400/2-25/2;
int y=300/2-25/2;
protected void paintComponent(Graphics g){
g.setColor(Color.RED);
g.fillOval(x, y, 25, 25);
}
public Pane(){
this.setFocusable(true);
this.addKeyListener(new Move());
}
class Move implements KeyListener{
public void keyTyped(KeyEvent e) {}
public void keyPressed(KeyEvent e) {
if(e.getKeyChar()=='a'){
x=x+10;
repaint();
}
}
public void keyReleased(KeyEvent e) {}
}
}
mi sono stampato il tutotial della Sun sui KeyListener ma non mi ha dato nessuna info..
package ex3;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
public class Pane extends JPanel{
Dimension paneSize=this.getSize();
int x=400/2-25/2;
int y=300/2-25/2;
protected void paintComponent(Graphics g){
g.setColor(Color.RED);
g.fillOval(x, y, 25, 25);
}
public Pane(){
this.setFocusable(true);
this.addKeyListener(new Move());
}
class Move implements KeyListener{
public void keyTyped(KeyEvent e) {}
public void keyPressed(KeyEvent e) {
if(e.getKeyChar()=='a'){
x=x+10;
repaint();
}
}
public void keyReleased(KeyEvent e) {}
}
}
mi sono stampato il tutotial della Sun sui KeyListener ma non mi ha dato nessuna info..