重新绘制后添加的新JButton未显示

时间:2015-03-22 17:31:27

标签: java swing

我有一个带有绘制图片的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();
}

0 个答案:

没有答案