Стек JPanels и JLabels - PullRequest
       14

Стек JPanels и JLabels

0 голосов
/ 21 сентября 2018

Я хочу поблагодарить вас за помощь, и теперь я столкнулся с другой проблемой.Я могу просто сделать фоновую панель и разместить панели с метками.Я бы хотел поместить панель с меткой поверх другой панели с меткой.Или Stack Помечает один поверх другого.Таким образом, это будет Background, затем JPanel с меткой поверх фона и еще одна JPanel с меткой поверх первой JPanel с меткой.

Начало моего кода, который сейчас работает, ниже:

    // SWITCH 1
    switch1 = new JPanel();
    switch1.setLocation(24,348);
    switch1.setSize(55,83);
    switch1.setOpaque(false);
    background.add(switch1);

    sw1 = new JLabel();
    sw1.setIcon(SW1);
    sw1.setLocation(0,0);
    switch1.add(sw1);
    pack();

Я хотел бы добавить меньший JPanel с JLabel поверх этого.Это возможно?Я попробовал несколько способов, и это не сработало, так как я пытался:

    // SWITCH 2
    switch2 = new JPanel();
    switch2.setLocation(24,348); 
    switch2.setSize(45,73); 
    switch2.setOpaque(false);
    switch1.add(switch2);

    sw2 = new JLabel();
    sw2.setIcon(SW2);
    sw2.setLocation(0,0);
    switch2.add(sw2);
    pack();

Это НЕ работает.Заранее спасибо за помощь в решении этой проблемы.

1 Ответ

0 голосов
/ 21 сентября 2018

Или Stack Помечает один поверх другого

Звучит так, как вы хотите OverlayLayout.

Вы настроили менеджер раскладки панели на использование OverlayLayout.Затем вы добавляете метки на панель.

Ярлыки нарисованы в обратном порядке, в котором вы добавляете их на панель.

Проверьте: Предотвращение наложения макета со сдвигом метки фонового изображения для примера, демонстрирующего, какиспользовать OverlayLayout.

...