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