我只是在摆弄 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
}
}
}
非常感谢
最佳答案
尝试使用invalidate()
或revalidate()
。
顺便说一句,不要使用 MouseListener
(@mKorbel +1),而是使用 ActionListener
。
关于java - 鼠标监听器和鼠标点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13524029/