0

我只是在搞乱 MouseListener 并想在buttP单击时向我的面板添加一个新的 JButton;但是,当我按 时它不会刷新面板buttP。我尝试了重绘方法,但这不起作用。任何人都知道我如何刷新面板以便JButton自动显示新的?

public class Panel extends JPanel{

private JButton buttP;
public Panel(){
    buttP = new JButton("TEST");
    buttP.addMouseListener(new addNewButtMouseListener());
    add(buttP);
}

private class addNewButtMouseListener implements MouseListener{

    @Override
    public void mouseClicked(MouseEvent e) {
        JButton b = new JButton("HA");
        add(b);
    }

    @Override
    public void mousePressed(MouseEvent e) {
        // TODO Auto-generated method stub

    }

    @Override
    public void mouseReleased(MouseEvent e) {
        // TODO Auto-generated method stub

    }

    @Override
    public void mouseEntered(MouseEvent e) {
        // TODO Auto-generated method stub

    }

    @Override
    public void mouseExited(MouseEvent e) {
        // TODO Auto-generated method stub

    }

}

}

非常感谢

4

2 回答 2

1

尝试使用invalidate()revalidate()

顺便说一句,不要改用MouseListener(@mKorbel 为 +1)ActionListener

于 2012-11-23T06:24:02.980 回答
1
于 2012-11-23T06:33:38.857 回答