Dodawanie elementów w czasie działania programu

0

Mam taki problem, chcę dodać element po kliknięciu przycisku, niestety kod nie działa. Przygotowałem kod wykonujący tylko to zadanie, też nie działa, oto skrócona wersja problemu :

public class TestPanel extends JPanel implements MouseListener{
    
    JPanel jp1;
    /** Creates a new instance of TestPanel */
    public TestPanel() {
        setBackground(Color.BLUE);
        Button b = new Button("ABA");
        b.addMouseListener(this);
        add(b);
    }

    public void mouseClicked(MouseEvent e) {
        this.add(new Button("DDE"));
    }

    public void mousePressed(MouseEvent e) {
    }

    public void mouseReleased(MouseEvent e) {
    }

    public void mouseEntered(MouseEvent e) {
    }

    public void mouseExited(MouseEvent e) {
    }
    
}

Proszę o szybką pomoc.

0

kilka spraw:

  1. revalidate();
  2. repaint();
  3. do czego niby dodawać chcesz te przyciski? do panelu? ok, ale w jakim Layoucie?proponuje grid,
    o zmiennej, przy każdym dodaniu guzika inkrementowanej, licznie elementów
  4. jak sie poźniej chcesz odwolać do tych guzików, skoro są one anonimowymi obiektami? tak że proponuje dodac je do jakiejś kolekcji i przy odwołaniach po indexie tej listy latać

pzdr.

0

revalidate()

pozdrawiam

0

Wielkie dzięki, ja używałem zawsze tylko repaint() zamiast revalidate().

1 użytkowników online, w tym zalogowanych: 0, gości: 1