У меня есть гибридное приложение Swing, которое можно запускать как апплет или Java-приложение со следующей структурой:
public class Gui extends JApplet {
public void init() {...}
public void paint(Graphics g) {
...
g.drawImage(image, 0, 0, this);
}
public static void main(String args[]) {
JFrame frame = new JFrame();
JDialog dialog = new JDialog(frame);
Gui gui = new Gui();
gui.init();
gui.start();
dialog.add("Center", gui);
...
}
}
Весь графический интерфейс состоит из одной области рисования, которая постоянно обновляется. Я хотел бы встроить панель, которая всегда находится сверху и не зависит от основного процесса рисования.
Я попытался использовать JLayeredPane и добавить его между JDialog и JApplet, но Japplet нельзя добавить в панель, потому что это контейнер верхнего уровня.
Я также пытался реализовать это со стеклянным стеклом, но безуспешно.
Есть ли решение без рефакторинга, так как структура должна быть сохранена, насколько это возможно.