Почему repaint () в методе draw () не работает (не вызывает paint ())? - PullRequest
0 голосов
/ 07 февраля 2019

Я создаю класс, который рисует черные прямоугольники прямо на экране.Как я могу это исправить, чтобы заставить его работать?

public class BlackRectangle {
    public Rectangle rectangle = new Rectangle(0, 0, 0, 0);

    public BlackRectangle() {
        w.setAlwaysOnTop(true);
        w.setBounds(w.getGraphicsConfiguration().getBounds());
        w.setBackground(new Color(0, true));
        w.setVisible(true);
    }

    public void draw(int x, int y, int width, int height) {
        rectangle.setBounds(x, y, width, height);
        w.validate();
        w.repaint();

    }

    Window w = new Window(null) {
        @Override
        public void paint(Graphics g) {

            g.setColor(Color.BLACK);
            ((Graphics2D) g).fill(rectangle);
             g.dispose();
        }

        @Override
        public void update(Graphics g) {
            paint(g);
        }

    };

    public void clear() {
        rectangle.setBounds(0, 0, 0, 0);
    }

    public static void main(String[] args) {
        BlackRectangle rect = new BlackRectangle();
        rect.draw(10, 70, 60, 50);

    }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...