Reputation: 125
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
}
}
}
Thanks a lot
Upvotes: 0
Views: 288
Reputation: 16184
Try using invalidate()
, or revalidate()
.
BTW don't use a MouseListener
(+1 for @mKorbel) use ActionListener
instead.
Upvotes: 1
Reputation: 109815
I think idea to add MouseListener
to the JButton
is wrong
have to add SwingAction
, ActionListener
Upvotes: 1