Рисуйте графику, не удаляя ее при использовании repaint () - PullRequest
3 голосов
/ 18 января 2012

У меня есть метод draw, и я хочу, чтобы drawLine оставался на экране после вызова repaint ().FillOval будет двигаться, это нормально.Но я хочу, чтобы drawLine перерисовывался только на другой позиции, не удаляя ее.

public void paint(Graphics g) {
    super.paint(g);

    g.setColor(Color.RED);
    g.drawLine(x, y, x+10, y+10);
    g.setColor(Color.BLACK);
    g.fillOval(x - radius, y - radius, radius * 2, radius * 2);

}

Ответы [ 2 ]

3 голосов
/ 18 января 2012

В запросе на перекрашивание необходимо указать координаты и размеры «грязной области» одним из следующих способов:

Обратите внимание, что вы хотите переопределить paintComponent, а не paint при выполнении пользовательского рисования.

2 голосов
/ 18 января 2012

Вы можете хранить x и y каждой строки в List.На каждом repaint() вы просто перерисовываете все строки, присутствующие в List

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