Я ищу способ рисовать несколько JComponents
друг над другом (перекрываются) и по-прежнему могут индивидуально обращаться и изменять их.Как создать независимые JPanel-слои в JFrame и перекрасить каждый отдельно
E.g. краска три JPanels
с прозрачным фоном - каждый из которых содержит круг, прямоугольник или линию. Впоследствии я хотел бы изменить внешний вид круга. Остальные два не следует перекрашивать (аналогично слоям в Photoshop).
В моем текущем проекте есть Jpanel
с тысячами линий, и мне нужно поменять прямоугольник на обратной стороне мыши, если я перерисовываю полный Jpanel
каждый раз, когда он очень лаги.
Есть ли достойный способ достичь этого? Спасибо вам за ваши идеи!
Лучшим способом было бы иметь один JPanel и несколько BufferedImages в качестве ваших слоев. Покрасьте каждый BufferedImage в порядок, стараясь не рисовать прозрачные области. Вам нужно очистить и перекрасить всю область рисования для каждого кадра анимации. Кроме того, ваш рисунок paintComponent метод рисования должен просто рисовать. Нет расчетов. Ничего другого, кроме методов Graphics2D. Конечной альтернативой было бы моделирование ваших геометрических фигур и рисование фигур из модели. –
Взгляните на мои [Moving Eyes] (http://stackoverflow.com/questions/34981403/bufferedimage-not-being-cleared-before-each-rendering/35002727#35002727) ответьте, чтобы посмотреть, как настроить чертеж панель в Swing. –
Похоже, что это могло решить мою проблему! BufferedImages как слои - я попробую! Спасибо! –