public class Pong extends JPanel {
int x=0;
int y=0;
int a;
int b;
int border=30;
boolean balldown=true;
boolean ballright=true;
int bounce=0;
private void moveBall(){
if (balldown==true){
y++;
bounce++;
}
if (balldown==false){
y--;
bounce++;
}
if(y==getHeight()-border){
balldown=false;
bounce++;
}
if(y==0){
balldown=true;
bounce++;
}
if (ballright==true){
x++;
}
if (ballright==false){
x--;
bounce++;
}
if(x==getWidth()-30){
ballright=false;
bounce++;
}
if(x==0){
ballright=true;
bounce++;
}
}
@Override
public void paint(Graphics g){
super.paint(g);
g.setColor(Color.BLACK);
g.fillRect(0, 0, 1080, 760);
g.setColor(Color.WHITE);
g.fillOval(x, y, 30, 30);
g.setColor(Color.WHITE);
g.fillRect(0, a, 30, 200);
g.setColor(Color.WHITE);
g.fillRect(980, b, 30, 200);
g.fillRect(520, 0, 10, 760);
}
public Pong() implements KeyListener {
void keyPressed(KeyEvent e) {
int key = e.getKeyCode();
if (key == KeyEvent.VK_UP) {
a += 10;
System.out.println("++++");
return;
}
if (key == KeyEvent.VK_DOWN) {
a -= 10;
}
}
}
public static void main(String[] args) throws InterruptedException {
JFrame frame = new JFrame("Pong");
frame.setSize(1024,760);
frame.setVisible(true);
// frame.createBufferStrategy(3);
//BufferStrategy strategy=frame.getBufferStrategy();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Pong game=new Pong();
frame.add(game);
while(true){
game.moveBall();
game.repaint();
Thread.sleep(1);
}
}
}
Я новичок в jAVA Я хочу реализовать keylistener, который изменит координаты 2 прямоугольников, но я не могу заставить его работать. Я получаю ошибку компиляции с надписью «ожидается» в классе, который реализует KeyListener. Я знаю, что означает ошибка, я не знаю, как ее решить в этом случае