Я пишу картографическое приложение на Java с использованием Swing для пользовательского интерфейса (в конце этого поста я включил чертеж прототипа).Карта реализована с использованием пользовательского класса MapPanel, который расширяет JPanel.Карта извлекается с сервера в виде серии изображений (плиток) размером 300x300, которые рисуются на MapPanel при каждом вызове метода paintMap ().Из-за длины и сложности (несколько классов и т. Д.) Кода я не могу включить все это здесь, но метод paintMap () в основном работает так:
// Loop for each map tile (image, xPos, yPos)
getGraphics().drawImage(image, xPos, yPos, 300, 300, null);
Я хотел бы иметьдругой JPanel (содержащий JSlider для управления масштабированием) наложен на верхнюю часть панели карты, но у меня возникают трудности с этим.Всякий раз, когда я рисую карту, наложенная JPanel исчезает.Если я перерисовываю наложенный JPanel в методе paintMap (), он плохо мигает при перетаскивании карты (и, следовательно, перекрашивается непрерывно).
Есть предложения о том, как реализовать свой пользовательский интерфейс без мерцания?
![UI prototype](https://i.stack.imgur.com/a2jdQ.png)