【问题标题】:Mouselistener and mouseclickedMouselistener 和 mouseclicked
【发布时间】:2012-11-23 14:40:27
【问题描述】:

我只是在弄乱 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

    }

}

}

非常感谢

【问题讨论】:

    标签: java swing jbutton mouselistener


    【解决方案1】:

    尝试使用invalidate(),或revalidate()。

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

    【讨论】:

    • 不,永远,没有理由使用invalidate(),对于AWT,Swing,直到Java1.4,肯定可能很重要,请参阅我的答案中链接的代码示例...
    【解决方案2】:

    【讨论】:

      猜你喜欢
      • 2021-10-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-28
      • 2012-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多