7 Stimmen

JPanel vor andere Objekte in Java bringen (SWING)

Ich möchte eine Lademeldung erstellen, wenn eine Anwendung verarbeitet wird, also habe ich eine JPanel über eine JTree . Aber wenn der Benutzer auf das Symbol klickt JPanel die JTree wird ausgewählt und die JPanel wird nach hinten gehen. Nach dem Verstecken der JPanel wird es nie wieder angezeigt. Ich weiß nicht, warum, aber es scheint, dass es nie vor dem JTree .

Ich brauche eine Möglichkeit, die JPanel vor allem. Wie kann ich das tun?

EDITAR: Ich muss auch erwähnen, dass ich keine JDialog . Ich möchte die JPanel über einem beliebigen Element, um eine Lademeldung anzuzeigen, bis ein Prozess abgeschlossen ist.

0voto

Santiago Punkte 1
Jpanel main = new JPanel();
Jpanel a = new JPanel();
JPanel b = new Jpanel();

main.add(a);
main.add(b);

zu diesem Zeitpunkt das Objekt:

a -> 0 ( index)
b -> 1 (index)

main.getComponentCount() = 2

main.setComponentZorder(b,0);

a -> 1
b -> 0;

b OVER
a DOWN

0voto

SovietFrontier Punkte 1863

Für diejenigen, die kein Problem damit haben, eine JDialog Dies ist ein sicherer Weg, um sie anzuzeigen, wenn Sie Probleme haben. Achten Sie nur darauf, es richtig zu steuern, wenn der Dialog modal ist, beim Entsorgen, Setzen des Fokus usw.

JDialog dialog = new JDialog();
dialog.setAlwaysOnTop(true);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X