鼠标监听器和鼠标单击 [英] Mouselistener and mouseclicked

查看:101
本文介绍了鼠标监听器和鼠标单击的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我只是在和MouseListener混在一起,想在单击buttP时向我的面板添加一个新的JButton;但是,当我按buttP时,它不会刷新面板. 我尝试了重绘方法,但是不起作用.有谁知道我可以刷新面板以便自动显示新的JButton吗?

I was just messing around with MouseListener and wanted to add a new JButton to my Panel whenever buttP is clicked; however, it doesn't refresh the Panel when I press buttP. I tried the repaint method but that doesn't work. Anyone know how I can refresh the panel so that the new JButton shows automatically?

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.

BTW don't use a MouseListener (+1 for @mKorbel) use ActionListener instead.

这篇关于鼠标监听器和鼠标单击的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆