Какой метод вызывается при перерисовке класса, расширяющего JPanel? - PullRequest
0 голосов
/ 30 мая 2019

Я перекрашиваю свое препятствие, расширяющее JPanel из другого класса, а также из конструктора препятствий.Внутри paintComponent (Graphics g) мой Sys.out никогда не печатается -> Метод никогда не вызывается.Я реализовал все это 100 раз и не могу найти никакой разницы между этим и другими рабочими кодами: c


    private Rectangle hitbox;
    private int x,y, width, height;
    public static final int BIG = 0, LARGE = 1, BIRD_LOW = 2, BIRD_MID = 3, BIRD_HIGH = 4;

    public Obstacle(int x, int y, int type) {
        this.x = x;
        this.y = y;

        [...]

        this.repaint();
    }

    public void updateMovement() {
        this.x -= 10;
    }

    @Override
    public void paintComponent(Graphics g) {
        super.paintComponent(g);
        Graphics2D g2 = (Graphics2D) g;
        g2.setColor(Color.BLACK);
        g2.draw(hitbox);
        System.out.println("Repainted");
    }
}
...