Многопоточность и графика - PullRequest
0 голосов
/ 21 марта 2012

Мой проект основан на многопоточности и графике. Проблема заключается в вызове метода repaint (). Я пытаюсь вызвать метод перерисовки из второго класса, который реализует runnable и метод paint () в классе первого расширения Canvas. Но перекрас не работает. Что мне делать?

Thnx

Ответы [ 2 ]

1 голос
/ 21 марта 2012

Было бы гораздо мудрее, если бы вместо Canvas вы переопределяли метод paintComponent(...) для JComponent и рисовали на нем вместо переопределения paint(...).

0 голосов
/ 21 марта 2012

Метод Component.repaint(), в частности, в Swing, только помечает компонент как нуждающийся в перерисовке, на самом деле он не запускает перерисовку напрямую.

Убедитесь, что вы разрешаете другим потокам работать, вызывая Thread.yield(), так как это основной графический поток (который запустил другие ваши потоки), который фактически проверяет компоненты, чтобы увидеть, что нужно перекрасить.

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