Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 穆塞利斯腾纳和穆塞利克_Java_Swing_Jbutton_Mouselistener - Fatal编程技术网

Java 穆塞利斯腾纳和穆塞利克

Java 穆塞利斯腾纳和穆塞利克,java,swing,jbutton,mouselistener,Java,Swing,Jbutton,Mouselistener,我只是在胡闹MouseListener,想在点击buttP时在我的面板上添加一个新的JButton;但是,当我按buttP时,它不会刷新面板。 我尝试了重新绘制的方法,但不起作用。有人知道我如何刷新面板,使新的JButton自动显示吗 public class Panel extends JPanel{ private JButton buttP; public Panel(){ buttP = new JButton("TEST"); buttP.addMouseListen

我只是在胡闹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

  • 我认为增加这个数字的想法是错误的

  • 必须补充一点


不,永远不会,没有理由使用
invalidate()
,肯定对
AWT
Swing
,直到Java1.4,请参阅我答案中链接的代码示例。。。