So legen Sie den transparenten Hintergrund von JDialog fest

8

Hy, ..

Wie kann ich den Hintergrund transparent machen und den Closevorgang (rot markiert) "entfernen"? Ich möchte nur die Karte zeigen :-)

Danke ..!

    
Christian 'fuzi' Orgler 07.01.2011, 22:53
quelle

3 Antworten

9

yourDialog.setUndecorated(true) sollte den Trick für die Titelleiste machen.

Damit der Rahmen transparent ist. Sie müssen im Stammbereich mit yourDialog.getRootPane().setOpaque(false) arbeiten.

    
LudoMC 07.01.2011, 22:55
quelle
11

Obwohl es kein Problem mit UNDECORATED JFrame Transparenz (myJFrame.setBackground (neue Farbe (0,0,0,0)); ist ziemlich genug), das gleiche mit JDialog funktioniert nicht.

Ich entdeckte jedoch, dass die folgende Sequenz für JDialog perfekt funktioniert:

%Vor%

A bleiben auch, aber es ist mein PRIVATER, bescheidener Vorschlag, dass alle setBackground-Aufruf für Window-Extender (z. B. JFrame, JDialog) gegen UnsupportedOperationException und IllegalComponentStateException versucht werden sollte.

    
Tomek 15.03.2012 09:54
quelle
2

Ich folgte den Anweisungen aus dem Artikel und es funktionierte Finny und es war überhaupt nicht schwierig. :) Ich habe jetzt meinen transparenten SplashImage ans About-Bildschirm, der ein PNG-Bild anzeigt und seine (komplexe) Transparenz respektiert. Einfach super. Beachten Sie, dass sich die Vorgehensweise in JDK 7 ein wenig ändert.

Bemerken Sie den Unterschied zwischen den Keywords. Ссылка

Es wäre schön gewesen, wenn die

%Vor%

Trick funktioniert, aber es hat mir nicht. Vielleicht habe ich etwas falsch gemacht.

Ich merke auch, dass es wichtig ist, setContentPane (Component) zu verwenden; anstelle von getContentPane.add (Komponente);

Ich bin froh, dass es jetzt funktioniert! :)

    
猫IT 22.06.2011 02:12
quelle