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

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

This is at the begin when the program runs once

This is when I clicked change month button, and recreates the form

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

1 Ответ

0 голосов
/ 17 декабря 2018

.У JPanel есть метка, которая работает как картинка

Так что метка теперь является компонентом фона (а не панели).

Но когда я удаляю эти кнопки и сновасоздать, он просто не работает и возвращается к метке

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

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