如何用Java绘制形状?

时间:2019-03-08 09:06:58

标签: java shapes

我知道如何用Java创建形状,但是由于某些原因,我看不到框架上的形状。我尝试了多种创建形状的方法,但不适用于我的特定班级。最后,我需要一个可以创建一个圆的类(可以将其放置在任意位置)。

我知道其他人已经在这里问过这个问题,因此我尝试了解决方法。但这是行不通的...我尝试了什么:类扩展了Component,JPanel,带有Graphics2D的不同解决方案,等等

我要在哪里(代码中的注释):

public class GameBoard extends JFrame implements KeyListener {

    private CreateCircle circle;

    public GameBoard() {

        this.setSize(500, 500);
        this.getContentPane().setBackground(Color.BLACK);
        this.setTitle("Game");
        this.setLayout(null);
        this.setVisible(true);
        this.setLocationRelativeTo(null);
        this.setResizable(false);
        this.setDefaultCloseOperation(EXIT_ON_CLOSE);


        //CREATE CIRCLE
        circle = new CreateCircle();
        this.add(circle);


    }

    @Override
    public void keyPressed(KeyEvent e) {

        if(e.getKeyCode() == 38) {
            //UP
        }
        if(e.getKeyCode() == 40) {
            //DOWN
        }
        if(e.getKeyCode() == 39) {
            //RIGHT
        }
        if(e.getKeyCode() == 37) {
            //LEFT
        }

    }

    @Override
    public void keyReleased(KeyEvent e) {
        // TODO Auto-generated method stub

    }

    @Override
    public void keyTyped(KeyEvent e) {
        // TODO Auto-generated method stub

    }

}

1 个答案:

答案 0 :(得分:0)

我们假设您的`CreateCircle是一个JPanel。

class CreateCircle extends JPanel{
    @Override
    public void paintComponent(Graphics g){
        super.paintComponent(g);
        g.setColor(Color.RED);
        g.drawOval(20, 20, 80, 80);
    }

}

这应该与您拥有的代码一起使用。