Оптимизация рендеринга свинга Java - PullRequest
0 голосов
/ 02 июля 2011

Я понимаю, что встроенные в Java элементы пользовательского интерфейса Swing оптимизируют рендеринг, поэтому он работает лучше.Тем не менее, если бы у меня был настроенный JPanel (то есть я переопределил его метод paintComponent):

  1. Будут ли по-прежнему выполняться оптимизации рендеринга (как я надеюсь)?
  2. МожноЯ вручную говорю его родительскому контейнеру, когда перекрашивать JPanel?Иначе говоря, могу ли я заморозить повторный рендеринг JPanel до тех пор, пока это не будет явно сказано?
  3. Если это так (# 2), могу ли я сказать ему перекрашивать только определенную часть JPanel (умная живопись, я думаю,это называется ...)?
  4. И, наконец, сможет ли повторная визуализация JPanel обрабатывать прозрачность, закругленные углы или другие непрямоугольные формы для JPanel?(я полагаю, что он будет перерисовывать элементы под JPanel)

Если нет, существуют ли альтернативные способы его подделки?(желательно просто ссылка на источник / ссылку, из которой я могу прочитать)

1 Ответ

1 голос
/ 04 июля 2011

Для ускорения рендеринга вы можете использовать BufferedImage. Рендеринг вашего контента один раз на графике изображения и использование изображения вместо рендеринга всего контента.

Чтобы отобразить часть панели, используйте Graphics 'setClip () / getClip (), чтобы проверить, какая область должна быть обновлена, и нарисовать только часть.

Чтобы нарисовать непрямоугольный объект, используйте тот же параметр setClip, который необходим для Shapes.

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