Java: проблема Z-порядка компонентов. Компоненты возвращаются к другим компонентам

У меня есть JFrame и JPanel. У JPanel есть ярлык, который работает как картинка. На этой этикетке я создал кнопки вручную. Он отлично работает, когда я устанавливаю его z-порядок на 1. Но когда я удаляю эти кнопки и создаю заново, он просто не работает и возвращается к метке. Они выходят вперед, когда я наводю на них указатель мыши. Может ли кто-нибудь помочь мне решить эту проблему, пожалуйста?

Java: проблема Z-порядка компонентов. Компоненты возвращаются к другим компонентам

Java: проблема Z-порядка компонентов. Компоненты возвращаются к другим компонентам

panel.add(buttons[indexButtons],3); This is where I add the buttons manually. This one runs for multiple times after deleting older buttons each time when clicked change month button.

if (buttons[i]!=null)
        {
            //panel.setComponentZOrder(buttons[i], -1);
            panel.remove(buttons[i]);
            panel.repaint();

        }   This is how I remove oldest buttons.








label = new JLabel("");
    label.setBounds(0, -11, 372, 309);
    panel.add(label); This is the background picture where I place buttons to
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
0
79
1

Ответы 1

. JPanel has a label that works as a picture

Таким образом, метка теперь является фоновым компонентом (а не панелью).

But when I delete that buttons and re-create, it just does not work and goes back of the label

Кнопки должны быть добавлены в JLabel, а НЕ в JPanel, чтобы у вас была иерархия компонентов, например:

- JPanel
    - JLabel (with background image)
        - JButtons added to the label

Другие вопросы по теме