Java 我有一个问题,绘画(图形g)的方法在桨移动到左边或右边

Java 我有一个问题,绘画(图形g)的方法在桨移动到左边或右边,java,Java,我有一个左右移动的问题,这是代码。 重绘方法也不能正常工作。我已经多次修改了代码,但没有白费 我现在不想使用PaintComponent。 我想知道代码中的确切问题是什么。 谢谢你的帮助 package com.zharawa; public class Main { public static void main(String[] args) { new GameFrame("SnakeGame", 800, 700); } public class

我有一个左右移动的问题,这是代码。 重绘方法也不能正常工作。我已经多次修改了代码,但没有白费

我现在不想使用PaintComponent。 我想知道代码中的确切问题是什么。 谢谢你的帮助

package com.zharawa;
public class Main {

public static void main(String[] args) {
     new GameFrame("SnakeGame", 800, 700);
    
}
public class Main {

public static void main(String[] args) {
     new GameFrame("SnakeGame", 800, 700);
    
}
公共班机{ 公共静态void main(字符串[]args){ 新游戏框架(“破砖者”,800700); }
    public void paint(Graphics g) {     
        super.paint(g);
         
        //draw borders
        g.setColor(Color.blue);
         g.fillRect(0, 0, 785, 5); 
         g.fillRect(0, 5, 5, 655);
         g.fillRect(780, 5, 5, 655);
         g.setColor(Color.red);
         g.fillRect(5, 655, 775, 5);
         
         
         //draw ball
         g.setColor(Color.green);
         g.fillOval(300, 450, 20, 20);
         
         
         //draw bricks
        // g.setColor(Color.blue);
        // for(int i=0;i<20;i++) {
        //   g.fillRect(50, 50, 30, 30);
             
        //}
         
         //draw paddle
         g.setColor(Color.green);
         g.fillRect(paddleXdir, paddleYdir, paddleWidth, paddleHeight);
                 
     }
    
    @Override
    public void actionPerformed(ActionEvent e) {
        
    }

    @Override
    public void keyTyped(KeyEvent e) {
        
    }

    @Override
    public void keyPressed(KeyEvent e) {
        if(e.getKeyCode()==KeyEvent.VK_RIGHT) 
        paddleXdir+=25;
        
        if(e.getKeyCode()==KeyEvent.VK_LEFT)
            paddleXdir-=25;
        
        repaint();
            
    }

    @Override
    public void keyReleased(KeyEvent e) {
        
    }

    }
    public void paint(Graphics g) {     
        super.paint(g);
         
        //draw borders
        g.setColor(Color.blue);
         g.fillRect(0, 0, 785, 5); 
         g.fillRect(0, 5, 5, 655);
         g.fillRect(780, 5, 5, 655);
         g.setColor(Color.red);
         g.fillRect(5, 655, 775, 5);
         
         
         //draw ball
         g.setColor(Color.green);
         g.fillOval(300, 450, 20, 20);
         
         
         //draw bricks
        // g.setColor(Color.blue);
        // for(int i=0;i<20;i++) {
        //   g.fillRect(50, 50, 30, 30);
             
        //}
         
         //draw paddle
         g.setColor(Color.green);
         g.fillRect(paddleXdir, paddleYdir, paddleWidth, paddleHeight);
                 
     }
    
    @Override
    public void actionPerformed(ActionEvent e) {
        
    }

    @Override
    public void keyTyped(KeyEvent e) {
        
    }

    @Override
    public void keyPressed(KeyEvent e) {
        if(e.getKeyCode()==KeyEvent.VK_RIGHT) 
        paddleXdir+=25;
        
        if(e.getKeyCode()==KeyEvent.VK_LEFT)
            paddleXdir-=25;
        
        repaint();
            
    }

    @Override
    public void keyReleased(KeyEvent e) {
        
    }

    }
}
    public void paint(Graphics g) {     
        super.paint(g);
         
        //draw borders
        g.setColor(Color.blue);
         g.fillRect(0, 0, 785, 5); 
         g.fillRect(0, 5, 5, 655);
         g.fillRect(780, 5, 5, 655);
         g.setColor(Color.red);
         g.fillRect(5, 655, 775, 5);
         
         
         //draw ball
         g.setColor(Color.green);
         g.fillOval(300, 450, 20, 20);
         
         
         //draw bricks
        // g.setColor(Color.blue);
        // for(int i=0;i<20;i++) {
        //   g.fillRect(50, 50, 30, 30);
             
        //}
         
         //draw paddle
         g.setColor(Color.green);
         g.fillRect(paddleXdir, paddleYdir, paddleWidth, paddleHeight);
                 
     }
    
    @Override
    public void actionPerformed(ActionEvent e) {
        
    }

    @Override
    public void keyTyped(KeyEvent e) {
        
    }

    @Override
    public void keyPressed(KeyEvent e) {
        if(e.getKeyCode()==KeyEvent.VK_RIGHT) 
        paddleXdir+=25;
        
        if(e.getKeyCode()==KeyEvent.VK_LEFT)
            paddleXdir-=25;
        
        repaint();
            
    }

    @Override
    public void keyReleased(KeyEvent e) {
        
    }

    }
    public void paint(Graphics g) {     
        super.paint(g);
         
        //draw borders
        g.setColor(Color.blue);
         g.fillRect(0, 0, 785, 5); 
         g.fillRect(0, 5, 5, 655);
         g.fillRect(780, 5, 5, 655);
         g.setColor(Color.red);
         g.fillRect(5, 655, 775, 5);
         
         
         //draw ball
         g.setColor(Color.green);
         g.fillOval(300, 450, 20, 20);
         
         
         //draw bricks
        // g.setColor(Color.blue);
        // for(int i=0;i<20;i++) {
        //   g.fillRect(50, 50, 30, 30);
             
        //}
         
         //draw paddle
         g.setColor(Color.green);
         g.fillRect(paddleXdir, paddleYdir, paddleWidth, paddleHeight);
                 
     }
    
    @Override
    public void actionPerformed(ActionEvent e) {
        
    }

    @Override
    public void keyTyped(KeyEvent e) {
        
    }

    @Override
    public void keyPressed(KeyEvent e) {
        if(e.getKeyCode()==KeyEvent.VK_RIGHT) 
        paddleXdir+=25;
        
        if(e.getKeyCode()==KeyEvent.VK_LEFT)
            paddleXdir-=25;
        
        repaint();
            
    }

    @Override
    public void keyReleased(KeyEvent e) {
        
    }

    }


package com.zharawa;
public class Main {

public static void main(String[] args) {
     new GameFrame("SnakeGame", 800, 700);
    
}
public class Main {

public static void main(String[] args) {
     new GameFrame("SnakeGame", 800, 700);
    
}
导入java.awt.Color; 导入java.awt.Graphics; 导入java.awt.event.ActionEvent; 导入java.awt.event.ActionListener; 导入java.awt.event.KeyEvent; 导入java.awt.event.KeyListener; 导入javax.swing.JPanel; 导入javax.swing.Timer; 公共类GamePanel扩展JPanel实现KeyListener、ActionListener{ 私有int-xdir=350; 私人int-PAYDIR=600; 私有宽度=150; 私家车高度=10; 公共游戏小组(){ addKeyListener(此); 设置聚焦(真); setFocusTraversalKeysEnabled(false); 重新油漆(); }
    public void paint(Graphics g) {     
        super.paint(g);
         
        //draw borders
        g.setColor(Color.blue);
         g.fillRect(0, 0, 785, 5); 
         g.fillRect(0, 5, 5, 655);
         g.fillRect(780, 5, 5, 655);
         g.setColor(Color.red);
         g.fillRect(5, 655, 775, 5);
         
         
         //draw ball
         g.setColor(Color.green);
         g.fillOval(300, 450, 20, 20);
         
         
         //draw bricks
        // g.setColor(Color.blue);
        // for(int i=0;i<20;i++) {
        //   g.fillRect(50, 50, 30, 30);
             
        //}
         
         //draw paddle
         g.setColor(Color.green);
         g.fillRect(paddleXdir, paddleYdir, paddleWidth, paddleHeight);
                 
     }
    
    @Override
    public void actionPerformed(ActionEvent e) {
        
    }

    @Override
    public void keyTyped(KeyEvent e) {
        
    }

    @Override
    public void keyPressed(KeyEvent e) {
        if(e.getKeyCode()==KeyEvent.VK_RIGHT) 
        paddleXdir+=25;
        
        if(e.getKeyCode()==KeyEvent.VK_LEFT)
            paddleXdir-=25;
        
        repaint();
            
    }

    @Override
    public void keyReleased(KeyEvent e) {
        
    }

    }
    public void paint(Graphics g) {     
        super.paint(g);
         
        //draw borders
        g.setColor(Color.blue);
         g.fillRect(0, 0, 785, 5); 
         g.fillRect(0, 5, 5, 655);
         g.fillRect(780, 5, 5, 655);
         g.setColor(Color.red);
         g.fillRect(5, 655, 775, 5);
         
         
         //draw ball
         g.setColor(Color.green);
         g.fillOval(300, 450, 20, 20);
         
         
         //draw bricks
        // g.setColor(Color.blue);
        // for(int i=0;i<20;i++) {
        //   g.fillRect(50, 50, 30, 30);
             
        //}
         
         //draw paddle
         g.setColor(Color.green);
         g.fillRect(paddleXdir, paddleYdir, paddleWidth, paddleHeight);
                 
     }
    
    @Override
    public void actionPerformed(ActionEvent e) {
        
    }

    @Override
    public void keyTyped(KeyEvent e) {
        
    }

    @Override
    public void keyPressed(KeyEvent e) {
        if(e.getKeyCode()==KeyEvent.VK_RIGHT) 
        paddleXdir+=25;
        
        if(e.getKeyCode()==KeyEvent.VK_LEFT)
            paddleXdir-=25;
        
        repaint();
            
    }

    @Override
    public void keyReleased(KeyEvent e) {
        
    }

    }
公共空间绘制(图形g){ //划界 g、 setColor(Color.blue); g、 fillRect(0,0785,5); g、 fillRect(0,5,5655); g、 fillRect(780,5,5655); g、 setColor(Color.red); g、 fillRect(5655775,5); //抽签 g、 setColor(Color.green); g、 圆形(300、450、20、20); //画砖 //g.setColor(颜色为蓝色); //对于(inti=0;i我将paint(Graphics g)方法更改为painting或其他名称,但所有图形都消失了。 问题在于划桨,当尝试移动它的方向时,它有一种奇怪的行为。

我将绘画(Graphics g)方法更改为绘画或其他名称,但所有的图形都消失了。
问题在于划桨,它在尝试移动方向时有一种奇怪的行为。

我想你没有理解camickr的评论。你需要将方法
paint
的名称更改为
paintComponent
。你还需要调用超类方法。你还需要添加对方法
repaint()的调用
在您的
按键()方法中

我对您的
GamePanel
类进行了必要的更改。我还添加了一个
main()
方法,使下面的代码成为您可以运行的应用程序。您可以从下面的代码中安全地删除
main()
方法

package com.zharawa;
public class Main {

public static void main(String[] args) {
     new GameFrame("SnakeGame", 800, 700);
    
}
public class Main {

public static void main(String[] args) {
     new GameFrame("SnakeGame", 800, 700);
    
}
导入java.awt.Color; 导入java.awt.EventQueue; 导入java.awt.Graphics; 导入java.awt.event.ActionEvent; 导入java.awt.event.ActionListener; 导入java.awt.event.KeyEvent; 导入java.awt.event.KeyListener; 导入javax.swing.JFrame; 导入javax.swing.JPanel; 导入javax.swing.WindowConstants; 公共类GamePanel扩展JPanel实现KeyListener、ActionListener{ 私有int-xdir=350; 私人int-PAYDIR=600; 私有宽度=150; 私家车高度=10; 公共游戏小组(){ addKeyListener(此); 设置聚焦(真); setFocusTraversalKeysEnabled(false); 重新油漆(); }
    public void paint(Graphics g) {     
        super.paint(g);
         
        //draw borders
        g.setColor(Color.blue);
         g.fillRect(0, 0, 785, 5); 
         g.fillRect(0, 5, 5, 655);
         g.fillRect(780, 5, 5, 655);
         g.setColor(Color.red);
         g.fillRect(5, 655, 775, 5);
         
         
         //draw ball
         g.setColor(Color.green);
         g.fillOval(300, 450, 20, 20);
         
         
         //draw bricks
        // g.setColor(Color.blue);
        // for(int i=0;i<20;i++) {
        //   g.fillRect(50, 50, 30, 30);
             
        //}
         
         //draw paddle
         g.setColor(Color.green);
         g.fillRect(paddleXdir, paddleYdir, paddleWidth, paddleHeight);
                 
     }
    
    @Override
    public void actionPerformed(ActionEvent e) {
        
    }

    @Override
    public void keyTyped(KeyEvent e) {
        
    }

    @Override
    public void keyPressed(KeyEvent e) {
        if(e.getKeyCode()==KeyEvent.VK_RIGHT) 
        paddleXdir+=25;
        
        if(e.getKeyCode()==KeyEvent.VK_LEFT)
            paddleXdir-=25;
        
        repaint();
            
    }

    @Override
    public void keyReleased(KeyEvent e) {
        
    }

    }
    public void paint(Graphics g) {     
        super.paint(g);
         
        //draw borders
        g.setColor(Color.blue);
         g.fillRect(0, 0, 785, 5); 
         g.fillRect(0, 5, 5, 655);
         g.fillRect(780, 5, 5, 655);
         g.setColor(Color.red);
         g.fillRect(5, 655, 775, 5);
         
         
         //draw ball
         g.setColor(Color.green);
         g.fillOval(300, 450, 20, 20);
         
         
         //draw bricks
        // g.setColor(Color.blue);
        // for(int i=0;i<20;i++) {
        //   g.fillRect(50, 50, 30, 30);
             
        //}
         
         //draw paddle
         g.setColor(Color.green);
         g.fillRect(paddleXdir, paddleYdir, paddleWidth, paddleHeight);
                 
     }
    
    @Override
    public void actionPerformed(ActionEvent e) {
        
    }

    @Override
    public void keyTyped(KeyEvent e) {
        
    }

    @Override
    public void keyPressed(KeyEvent e) {
        if(e.getKeyCode()==KeyEvent.VK_RIGHT) 
        paddleXdir+=25;
        
        if(e.getKeyCode()==KeyEvent.VK_LEFT)
            paddleXdir-=25;
        
        repaint();
            
    }

    @Override
    public void keyReleased(KeyEvent e) {
        
    }

    }
public void paintComponent(图形g){//更改方法名称(从“paint”开始) super.paintComponent(g);//添加了此行 //划界 g、 setColor(Color.blue); g、 fillRect(0,0785,5); g、 fillRect(0,5,5655); g、 fillRect(780,5,5655); g、 setColor(Color.red); g、 fillRect(5655775,5); //抽签 g、 setColor(Color.green); g、 圆形(300、450、20、20); //画砖 //g.setColor(颜色为蓝色); //对于(int i=0;i{ JFrame=新JFrame(); frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE); 框架设置尺寸(800700); frame.add(新游戏面板()); frame.setLocationByPlatform(真); frame.setVisible(true); });
    public void paint(Graphics g) {     
        super.paint(g);
         
        //draw borders
        g.setColor(Color.blue);
         g.fillRect(0, 0, 785, 5); 
         g.fillRect(0, 5, 5, 655);
         g.fillRect(780, 5, 5, 655);
         g.setColor(Color.red);
         g.fillRect(5, 655, 775, 5);
         
         
         //draw ball
         g.setColor(Color.green);
         g.fillOval(300, 450, 20, 20);
         
         
         //draw bricks
        // g.setColor(Color.blue);
        // for(int i=0;i<20;i++) {
        //   g.fillRect(50, 50, 30, 30);
             
        //}
         
         //draw paddle
         g.setColor(Color.green);
         g.fillRect(paddleXdir, paddleYdir, paddleWidth, paddleHeight);
                 
     }
    
    @Override
    public void actionPerformed(ActionEvent e) {
        
    }

    @Override
    public void keyTyped(KeyEvent e) {
        
    }

    @Override
    public void keyPressed(KeyEvent e) {
        if(e.getKeyCode()==KeyEvent.VK_RIGHT) 
        paddleXdir+=25;
        
        if(e.getKeyCode()==KeyEvent.VK_LEFT)
            paddleXdir-=25;
        
        repaint();
            
    }

    @Override
    public void keyReleased(KeyEvent e) {
        
    }

    }
    public void paint(Graphics g) {     
        super.paint(g);
         
        //draw borders
        g.setColor(Color.blue);
         g.fillRect(0, 0, 785, 5); 
         g.fillRect(0, 5, 5, 655);
         g.fillRect(780, 5, 5, 655);
         g.setColor(Color.red);
         g.fillRect(5, 655, 775, 5);
         
         
         //draw ball
         g.setColor(Color.green);
         g.fillOval(300, 450, 20, 20);
         
         
         //draw bricks
        // g.setColor(Color.blue);
        // for(int i=0;i<20;i++) {
        //   g.fillRect(50, 50, 30, 30);
             
        //}
         
         //draw paddle
         g.setColor(Color.green);
         g.fillRect(paddleXdir, paddleYdir, paddleWidth, paddleHeight);
                 
     }
    
    @Override
    public void actionPerformed(ActionEvent e) {
        
    }

    @Override
    public void keyTyped(KeyEvent e) {
        
    }

    @Override
    public void keyPressed(KeyEvent e) {
        if(e.getKeyCode()==KeyEvent.VK_RIGHT) 
        paddleXdir+=25;
        
        if(e.getKeyCode()==KeyEvent.VK_LEFT)
            paddleXdir-=25;
        
        repaint();
            
    }

    @Override
    public void keyReleased(KeyEvent e) {
        
    }

    }
}
    public void paint(Graphics g) {     
        super.paint(g);
         
        //draw borders
        g.setColor(Color.blue);
         g.fillRect(0, 0, 785, 5); 
         g.fillRect(0, 5, 5, 655);
         g.fillRect(780, 5, 5, 655);
         g.setColor(Color.red);
         g.fillRect(5, 655, 775, 5);
         
         
         //draw ball
         g.setColor(Color.green);
         g.fillOval(300, 450, 20, 20);
         
         
         //draw bricks
        // g.setColor(Color.blue);
        // for(int i=0;i<20;i++) {
        //   g.fillRect(50, 50, 30, 30);
             
        //}
         
         //draw paddle
         g.setColor(Color.green);
         g.fillRect(paddleXdir, paddleYdir, paddleWidth, paddleHeight);
                 
     }
    
    @Override
    public void actionPerformed(ActionEvent e) {
        
    }

    @Override
    public void keyTyped(KeyEvent e) {
        
    }

    @Override
    public void keyPressed(KeyEvent e) {
        if(e.getKeyCode()==KeyEvent.VK_RIGHT) 
        paddleXdir+=25;
        
        if(e.getKeyCode()==KeyEvent.VK_LEFT)
            paddleXdir-=25;
        
        repaint();
            
    }

    @Override
    public void keyReleased(KeyEvent e) {
        
    }

    }
    public void paint(Graphics g) {     
        super.paint(g);
         
        //draw borders
        g.setColor(Color.blue);
         g.fillRect(0, 0, 785, 5); 
         g.fillRect(0, 5, 5, 655);
         g.fillRect(780, 5, 5, 655);
         g.setColor(Color.red);
         g.fillRect(5, 655, 775, 5);
         
         
         //draw ball
         g.setColor(Color.green);
         g.fillOval(300, 450, 20, 20);
         
         
         //draw bricks
        // g.setColor(Color.blue);
        // for(int i=0;i<20;i++) {
        //   g.fillRect(50, 50, 30, 30);
             
        //}
         
         //draw paddle
         g.setColor(Color.green);
         g.fillRect(paddleXdir, paddleYdir, paddleWidth, paddleHeight);
                 
     }
    
    @Override
    public void actionPerformed(ActionEvent e) {
        
    }

    @Override
    public void keyTyped(KeyEvent e) {
        
    }

    @Override
    public void keyPressed(KeyEvent e) {
        if(e.getKeyCode()==KeyEvent.VK_RIGHT) 
        paddleXdir+=25;
        
        if(e.getKeyCode()==KeyEvent.VK_LEFT)
            paddleXdir-=25;
        
        repaint();
            
    }

    @Override
    public void keyReleased(KeyEvent e) {
        
    }

    }
}
    public void paint(Graphics g) {     
        super.paint(g);
         
        //draw borders
        g.setColor(Color.blue);
         g.fillRect(0, 0, 785, 5); 
         g.fillRect(0, 5, 5, 655);
         g.fillRect(780, 5, 5, 655);
         g.setColor(Color.red);
         g.fillRect(5, 655, 775, 5);
         
         
         //draw ball
         g.setColor(Color.green);
         g.fillOval(300, 450, 20, 20);
         
         
         //draw bricks
        // g.setColor(Color.blue);
        // for(int i=0;i<20;i++) {
        //   g.fillRect(50, 50, 30, 30);
             
        //}
         
         //draw paddle
         g.setColor(Color.green);
         g.fillRect(paddleXdir, paddleYdir, paddleWidth, paddleHeight);
                 
     }
    
    @Override
    public void actionPerformed(ActionEvent e) {
        
    }

    @Override
    public void keyTyped(KeyEvent e) {
        
    }

    @Override
    public void keyPressed(KeyEvent e) {
        if(e.getKeyCode()==KeyEvent.VK_RIGHT) 
        paddleXdir+=25;
        
        if(e.getKeyCode()==KeyEvent.VK_LEFT)
            paddleXdir-=25;
        
        repaint();
            
    }

    @Override
    public void keyReleased(KeyEvent e) {
        
    }

    }
    public void paint(Graphics g) {     
        super.paint(g);
         
        //draw borders
        g.setColor(Color.blue);
         g.fillRect(0, 0, 785, 5); 
         g.fillRect(0, 5, 5, 655);
         g.fillRect(780, 5, 5, 655);
         g.setColor(Color.red);
         g.fillRect(5, 655, 775, 5);
         
         
         //draw ball
         g.setColor(Color.green);
         g.fillOval(300, 450, 20, 20);
         
         
         //draw bricks
        // g.setColor(Color.blue);
        // for(int i=0;i<20;i++) {
        //   g.fillRect(50, 50, 30, 30);
             
        //}
         
         //draw paddle
         g.setColor(Color.green);
         g.fillRect(paddleXdir, paddleYdir, paddleWidth, paddleHeight);
                 
     }
    
    @Override
    public void actionPerformed(ActionEvent e) {
        
    }

    @Override
    public void keyTyped(KeyEvent e) {
        
    }

    @Override
    public void keyPressed(KeyEvent e) {
        if(e.getKeyCode()==KeyEvent.VK_RIGHT) 
        paddleXdir+=25;
        
        if(e.getKeyCode()==KeyEvent.VK_LEFT)
            paddleXdir-=25;
        
        repaint();
            
    }

    @Override
    public void keyReleased(KeyEvent e) {
        
    }

    }

添加动画(即制作“球”)时,需要使用
actionPerformed()
方法在屏幕上移动。为了添加动画,您需要使用一个

我想您不理解camickr的评论。您需要将方法
paint
的名称更改为
paintComponent
。您还需要调用超类方法。您还需要添加对方法
repaint()的调用
在您的
按键()方法中

我对您的
GamePanel
类进行了必要的更改。我还添加了一个
main()
方法,使下面的代码成为您可以运行的应用程序。您可以从下面的代码中安全地删除
main()
方法

package com.zharawa;
public class Main {

public static void main(String[] args) {
     new GameFrame("SnakeGame", 800, 700);
    
}
public class Main {

public static void main(String[] args) {
     new GameFrame("SnakeGame", 800, 700);
    
}
导入java.awt.Color; 导入java.awt.EventQueue; 导入java.awt.Graphics; 导入java.awt.event.ActionEvent; 导入java.awt.event.ActionListener; 导入java.awt.event.KeyEvent; 导入java.awt.event.KeyListener; 导入javax.swing.JFrame; 导入javax.swing.JPanel; 导入javax.swing.WindowConstants; 公共类GamePanel扩展JPanel实现KeyListener、ActionListener{ 私有int-xdir=350; 私人int-PAYDIR=600; 私有宽度=150; 私家车高度=10; 公共游戏小组(){ addKeyListener(此); 设置聚焦(真); setFocusTraversalKeysEnabled(false); 重新油漆(); }
    public void paint(Graphics g) {     
        super.paint(g);
         
        //draw borders
        g.setColor(Color.blue);
         g.fillRect(0, 0, 785, 5); 
         g.fillRect(0, 5, 5, 655);
         g.fillRect(780, 5, 5, 655);
         g.setColor(Color.red);
         g.fillRect(5, 655, 775, 5);
         
         
         //draw ball
         g.setColor(Color.green);
         g.fillOval(300, 450, 20, 20);
         
         
         //draw bricks
        // g.setColor(Color.blue);
        // for(int i=0;i<20;i++) {
        //   g.fillRect(50, 50, 30, 30);
             
        //}
         
         //draw paddle
         g.setColor(Color.green);
         g.fillRect(paddleXdir, paddleYdir, paddleWidth, paddleHeight);
                 
     }
    
    @Override
    public void actionPerformed(ActionEvent e) {
        
    }

    @Override
    public void keyTyped(KeyEvent e) {
        
    }

    @Override
    public void keyPressed(KeyEvent e) {
        if(e.getKeyCode()==KeyEvent.VK_RIGHT) 
        paddleXdir+=25;
        
        if(e.getKeyCode()==KeyEvent.VK_LEFT)
            paddleXdir-=25;
        
        repaint();
            
    }

    @Override
    public void keyReleased(KeyEvent e) {
        
    }

    }
    public void paint(Graphics g) {     
        super.paint(g);
         
        //draw borders
        g.setColor(Color.blue);
         g.fillRect(0, 0, 785, 5); 
         g.fillRect(0, 5, 5, 655);
         g.fillRect(780, 5, 5, 655);
         g.setColor(Color.red);
         g.fillRect(5, 655, 775, 5);
         
         
         //draw ball
         g.setColor(Color.green);
         g.fillOval(300, 450, 20, 20);
         
         
         //draw bricks
        // g.setColor(Color.blue);
        // for(int i=0;i<20;i++) {
        //   g.fillRect(50, 50, 30, 30);
             
        //}
         
         //draw paddle
         g.setColor(Color.green);
         g.fillRect(paddleXdir, paddleYdir, paddleWidth, paddleHeight);
                 
     }
    
    @Override
    public void actionPerformed(ActionEvent e) {
        
    }

    @Override
    public void keyTyped(KeyEvent e) {
        
    }

    @Override
    public void keyPressed(KeyEvent e) {
        if(e.getKeyCode()==KeyEvent.VK_RIGHT) 
        paddleXdir+=25;
        
        if(e.getKeyCode()==KeyEvent.VK_LEFT)
            paddleXdir-=25;
        
        repaint();
            
    }

    @Override
    public void keyReleased(KeyEvent e) {
        
    }

    }
public void paintComponent(图形g){//更改方法名称(从“paint”开始) super.paintComponent(g);//添加了此行 //划界 g、 setColor(Color.blue); g、 fillRect(0,0785,5); g、 fillRect(0,5,5655); g、 fillRect(780,5,5655); g、 setColor(Color.red); g、 fillRect(5655775,5); //抽签 g、