JWindows einblenden/animieren

Status
Nicht offen für weitere Antworten.
L

Lümmel

Gast
Hallo,

wie kann ich ein JWindows animieren (fade-in /out effekt) für einen Splash-screen?
 

Wildcard

Top Contributor
JWindow hat gar keine paintComponent. JWindow ist ein Zwischending aus Heavyweight und Lightweight. Es zeichnet Lightweight Komponenten, besteht aber aus einer Heavyweight Komponente. Alles was Heavyweight ist, kennt keine Transparenz.
Um die Sache abzukürzen:
Bis auf die neueste RC Version von Java 6, die noch nicht zum Produktiveinsatz taugt, unterstützt Swing keine transparenten Fenster. Das muss also mit Screenshots vom Hintergrund und überzeichnen simuliert werden.
 
L

Lümmel

Gast
Wildcard hat gesagt.:
JWindow hat gar keine paintComponent. JWindow ist ein Zwischending aus Heavyweight und Lightweight. Es zeichnet Lightweight Komponenten, besteht aber aus einer Heavyweight Komponente. Alles was Heavyweight ist, kennt keine Transparenz.
Um die Sache abzukürzen:
Bis auf die neueste RC Version von Java 6, die noch nicht zum Produktiveinsatz taugt, unterstützt Swing keine transparenten Fenster. Das muss also mit Screenshots vom Hintergrund und überzeichnen simuliert werden.

sorry das ich das jetzt erst sge aber ich benutze JAVA 6_10 RC2 Build 32 glaub ich... sprich transparente Fenster etc hab ich schon gemacht. ABER wenn du meinst das geht mit JWindow net ...
 
L

Lümmel

Gast
und die GlassPane des JWindow auf setVisible(false) geht nicht ?? und dann eben eine Bilddatei(splash...) laden und via AlphaComposite setzte ich die durchsichtigkeit des Bildes könnte doch gehen oder?
 

Wildcard

Top Contributor
Lümmel hat gesagt.:
sorry das ich das jetzt erst sge aber ich benutze JAVA 6_10 RC2 Build 32 glaub ich... sprich transparente Fenster etc hab ich schon gemacht. ABER wenn du meinst das geht mit JWindow net ...
Doch, mit diesem Pseudo Java 7 geht das schon. Würde ich allerdings nicht verwenden, da sich kein Endanwender eine RC Version installieren sollte.
 
L

Lümmel

Gast
Wildcard hat gesagt.:
Lümmel hat gesagt.:
sorry das ich das jetzt erst sge aber ich benutze JAVA 6_10 RC2 Build 32 glaub ich... sprich transparente Fenster etc hab ich schon gemacht. ABER wenn du meinst das geht mit JWindow net ...
Doch, mit diesem Pseudo Java 7 geht das schon. Würde ich allerdings nicht verwenden, da sich kein Endanwender eine RC Version installieren sollte.
ich bin der Zeit eben voraus :wink:

RC2 finde ich ziemlich stabil bei mir. Wie würdest du das dann mit Java 7 machen und das Fenster transparent animieren? mit obiger GlassPane Methode? Wobei ich da ja auch ein JFrame nehmen kann mit ner GlassPane drauf...
 

Wildcard

Top Contributor
Lümmel hat gesagt.:
RC2 finde ich ziemlich stabil bei mir. Wie würdest du das dann mit Java 7 machen und das Fenster transparent animieren? mit obiger GlassPane Methode? Wobei ich da ja auch ein JFrame nehmen kann mit ner GlassPane drauf...
Warum fragst du das mich? Du verwendest doch den RC.
GlassPane alleine hilft dir sowieso nichts, solange das Window selbst noch Opaque ist.
 
L

Lümmel

Gast
Wildcard hat gesagt.:
Lümmel hat gesagt.:
RC2 finde ich ziemlich stabil bei mir. Wie würdest du das dann mit Java 7 machen und das Fenster transparent animieren? mit obiger GlassPane Methode? Wobei ich da ja auch ein JFrame nehmen kann mit ner GlassPane drauf...
Warum fragst du das mich? Du verwendest doch den RC.
GlassPane alleine hilft dir sowieso nichts, solange das Window selbst noch Opaque ist.

ich hab das JFrame nun auf FAST transparent gesetzt

und auf die glasspane ein rechteck gemalt. Das Problem ist nur, dass sich die Transparenz auch auf die GlassPane aus wirkt :lol:

Da das GlassPane unterhalb JFrame in der Hierarchie ist und ich das JFrame auf Alpha 100% setze dürfte auch nie ein Bild in der GlassPane sichtbar sein... :/ :bloed:
 

Wildcard

Top Contributor
Moment... Du hast einen JFrame der deine Anwendung darstellt? Und die GlassPane soll ein Bild darstellen das du eingangs als Splashscreen bezeichnest? Warum soll ein Splashscreen angezeigt werden wenn die Anwendung doch schon sichtbar ist? Das widerspricht sich ein wenig.
 
L

Luemmmel

Gast
Wildcard hat gesagt.:
Moment... Du hast einen JFrame der deine Anwendung darstellt? Und die GlassPane soll ein Bild darstellen das du eingangs als Splashscreen bezeichnest? Warum soll ein Splashscreen angezeigt werden wenn die Anwendung doch schon sichtbar ist? Das widerspricht sich ein wenig.
das war doch nur ein Test...

wie auch immer was ich vorhabe geht nicht siehe eingangs...
 

Wildcard

Top Contributor
Doch es geht, wie bereits gesagt. Entweder mit dem RC und schrittweise Alpha Wert erhöhen, oder mit Screenshots und Übereichnen wie im Codebeispiel.
 

The_S

Top Contributor
@Wildcard

wie reagiert deine Lib denn, wenn sich im Hintergrund eine Animation abspielt? Diese wirst du vermutlich nicht bei deiner Transparenz weiter spielen lassen können!?
 

Wildcard

Top Contributor
Hobbit_Im_Blutrausch hat gesagt.:
wie reagiert deine Lib denn, wenn sich im Hintergrund eine Animation abspielt? Diese wirst du vermutlich nicht bei deiner Transparenz weiter spielen lassen können!?
Nein, das geht nicht. Ist nunmal ein Hack für eine kleine Demo Animation, ähnlich der 'transparenten' Gnome Konsole bevor es die Composition Window Manager gab.
 
O

OberLuemmel

Gast
Wildcard hat gesagt.:
Doch es geht, wie bereits gesagt. Entweder mit dem RC und schrittweise Alpha Wert erhöhen, oder mit Screenshots und Übereichnen wie im Codebeispiel.

also könnte ich den alpha wert im Konstruktor des einzufadenden Fensters so erhöhen?:
Code:
 try
		{
			AWTUtilities.setWindowOpacity(this, 0.1f);
			Thread.sleep(1100);
			AWTUtilities.setWindowOpacity(this, 0.2f);
			Thread.sleep(1100);
			AWTUtilities.setWindowOpacity(this, 0.3f);
			Thread.sleep(1100);
			AWTUtilities.setWindowOpacity(this, 0.4f);
			Thread.sleep(1300);
			AWTUtilities.setWindowOpacity(this, 0.5f);
			Thread.sleep(1100);
			AWTUtilities.setWindowOpacity(this, 0.6f);
			Thread.sleep(1300);
			AWTUtilities.setWindowOpacity(this, 0.7f);
			Thread.sleep(1300);
			AWTUtilities.setWindowOpacity(this, 0.8f);
			Thread.sleep(1300);
			AWTUtilities.setWindowOpacity(this, 0.9f);
		}
		catch (InterruptedException e)
		{
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

das geht natürlich so schnell, dass die "fade-animation" nicht sichtbar ist...trotz 1000ms wartezeit?? wie würdest du denn das richtig animieren das faden?
 

Wildcard

Top Contributor
So würdest du den EDT lahm legen, da muss schon ein separater Thread her, der das Setzen des Alpha Werts dann mit invokeLater synchronisiert.
 
O

Oberlümmel

Gast
Wildcard hat gesagt.:
So würdest du den EDT lahm legen, da muss schon ein separater Thread her, der das Setzen des Alpha Werts dann mit invokeLater synchronisiert.

yo klar meine Frage war nur warum ist die fading animation nicht sichtbar?? mit 1 sekunde abstand zu jeder alpha erhöhung?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Anzeige eines JWindows AWT, Swing, JavaFX & SWT 3
V JTextField nimmt keine Eingaben an, nach nachträglichem setVisible des JWindows AWT, Swing, JavaFX & SWT 4
D Swing Problem mit Scrollbars in einem JPanel eines JWindows AWT, Swing, JavaFX & SWT 4
M Jwindows nicht sichtbar (graues bild) AWT, Swing, JavaFX & SWT 9
J Dateiname im Label einblenden AWT, Swing, JavaFX & SWT 4
L Swing Benachrichtigung einblenden AWT, Swing, JavaFX & SWT 2
stylegangsta JLabel durch Klick auf JButton einblenden AWT, Swing, JavaFX & SWT 16
M Java FX Innerhalb einem FXML-Dialog weiteren FXML-Dialog einblenden AWT, Swing, JavaFX & SWT 3
R Label in den Vordergrund einblenden AWT, Swing, JavaFX & SWT 5
H Swing Symbol in Taskleiste dynamisch aus- bzw. einblenden AWT, Swing, JavaFX & SWT 14
H Swing HUD in externes Programm einblenden AWT, Swing, JavaFX & SWT 7
P verschiedene JPanels einblenden je nach auswahl AWT, Swing, JavaFX & SWT 2
M JPanel einblenden AWT, Swing, JavaFX & SWT 5
G Text zur Laufzeit einblenden? AWT, Swing, JavaFX & SWT 2
J BusyAnzeige einblenden wenn Thread länger als 2sec blokiert? AWT, Swing, JavaFX & SWT 5
T Auf Einblenden von Scrollbars reagieren AWT, Swing, JavaFX & SWT 9
S Frame "einblenden" AWT, Swing, JavaFX & SWT 5
J Spalte in JTable aus- und wieder einblenden AWT, Swing, JavaFX & SWT 10
B Rechteck Mit Hilfe Von Timeline, KeyFrames animieren AWT, Swing, JavaFX & SWT 3
E Swing JPanel in JLayeredPane animieren AWT, Swing, JavaFX & SWT 7
S Font laden, Wort zeichnen und animieren..? AWT, Swing, JavaFX & SWT 2
L Swing Funktion animieren AWT, Swing, JavaFX & SWT 10
ARadauer JScrollPane animieren... AWT, Swing, JavaFX & SWT 3
M JPanel Größe Animieren AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen


Oben