Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Java - Odebrání prvku z JFrame

Dobrý den,

Mám několik panelů, a když na některý kliknu, tak se mi vytvoří JPopupMenu. Jenže potřebuji ho nějak odebrat. Už jenom minimálně proto, aby když kliknu na jiný panel, aby ten první zmizel.

Prvky přidávám pomocí getContentPane().add();, jenže getContentPane().remove(); nefunguje.

Zkoušel jsem vytvořit globální proměnou a tu vždycky odebrat, vytvořit znova a přidat, ale to nějak nefunguje.

Prosím o radu.

Předem a děkuji.

Předmět Autor Datum
Omlouvám se, neuvedl jsem žádný příklad. public class Settlers extends javax.swing.JFrame { static… nový
MichalDM 30.03.2017 20:47
MichalDM
Neřešit! Udělal jsem to jinak. poslední
MichalDM 02.04.2017 13:22
MichalDM

Omlouvám se, neuvedl jsem žádný příklad.

public class Settlers extends javax.swing.JFrame {

static JPopupMenu menu;

public Settlers() {
java.awt.event.MouseAdapter mouse_listener = new java.awt.event.MouseAdapter() {
@Override
public void mouseClicked(java.awt.event.MouseEvent e) {
////////
menu = new JPopupMenu();
getContentPane().add(menu);
}
};...

Tímto kódem vytvořím proměnou, ve které napíšu metodu click, která vytvoří menu a přidá ho na frame.

Teď ale potřebuji na místo, kde jsou lomítka, napsat kód, který původní menu odstraní.

Zkoušel jsem getContentPane().remove(menu);

Jenže:

1. Musím hned při deklaraci inicializovat proměnnou, jinak to hned zhavaruje.
2. I když to udělám, tak to stejně nefunguje.

Prosím o radu.

Předem děkuji.

Zpět do poradny Odpovědět na původní otázku Nahoru