鼠标监听器和鼠标单击 [英] Mouselistener and mouseclicked
本文介绍了鼠标监听器和鼠标单击的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我只是在和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屋!
查看全文