vtshadow
vtshadow

Reputation: 125

Mouselistener and mouseclicked

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

Answers (2)

Mordechai
Mordechai

Reputation: 16184

Try using invalidate(), or revalidate().

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

Upvotes: 1

mKorbel
mKorbel

Reputation: 109815

Upvotes: 1

Related Questions