Java: установить компонент поверх другого - PullRequest
6 голосов
/ 24 февраля 2011

Я пишу программу на Java.У меня есть основной JPanel, в который добавлены два JPanel и один Canvas.Я стремлюсь изменить размер холста во время работы программы.Когда я развернул Canvas, я хочу, чтобы он всегда был поверх другого компонента.Как я могу установить это свойство для моего Canvas?

Ответы [ 2 ]

19 голосов
/ 24 февраля 2011

Вы можете заменить свою основную JPanel на JLayeredPanel.Многоуровневая панель позволит вам указать, что некоторые дочерние компоненты должны располагаться над другими дочерними компонентами.

Т.е.:

    JLayeredPane pane = new JLayeredPane();

    JLabel ontop = new JLabel("On top");
    JLabel behind = new JLabel("Behind");

    pane.add(ontop, 2, 0);
    pane.add(behind, 1, 0);
4 голосов
/ 24 февраля 2011

Сделайте свою главную JPanel JLayeredPane

Затем вы можете установить слой других компонентов с помощью setLayer(Component c, int layer), что позволит им перекрываться.

...