我有一个带有绘制图片的JPanel(由paintComponent创建)和图片前面的JButton。当我启动程序时,一切看起来都很好。单击按钮后,使用重绘重绘图片,删除JButton并添加新的JButton。这个新的JButton应该在绘图前面,但只有在我将鼠标悬停在它上面后才能看到它。这种行为的原因是什么,我该如何解决?我的代码示意图,其中省略了所有不相关的部分:
public void paintComponent(Graphics g){
super.paintComponent(g);
//draw picture
}
private void updateDrawing(){
repaint();
}
public void updateButton(){
//remove button from JPanel
//add new button to JPanel
ActionListener pressButton = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
updateDrawing();
updateButton();
}
};
button.addActionListener(pressButton);
panel.add(button);
}
public static void main(String[] args){
updateButton();
}