Frage von SuperSpace, 60

Java Programm zeigt beim starten nur leeres Fenster?

Hallo!

Ich habe mich seit kurzen an die Java Programmierung gewagt, stehe jetzt aber vor dem Problem, dass, wenn ich mein Programm öffne (Ob in Eclipse oder als Jar Datei macht keinen Unterschied!), sehe ich nur eine leeres Fenster. Ich muss dann das Fenster maximieren und wieder minimieren, damit ich alles sehen kann. (Siehe Anhang)

Hoffe jemand kann mir weiterhelfen :)

Mfg SuperSpace

Expertenantwort
von KnusperPudding, Community-Experte für Java, 38

Bitte stelle hierfür deinen Code zur Verfügung. Da dies kein "klassischer Fehler" der Programmiersprache oder ähnliches ist. 

Entweder verwendest du die Code-Funktion hier (deren Qualität allerdings zu wünschen übrig lässt) oder du lädst das via pastebin oder pastie, etc. hoch und verlinkst das ganze.

Kommentar von SuperSpace ,
http://pastebin.com/kRkZ0jiK

Ich musste einige Links entfernen, da diese nicht öffentlich gemacht
werden dürfen :). Sorry für das durcheinander. Wie gesagt ich bin
relativ neu in Java ^^.

Und noch eine Frage: Ich kriege es nicht hin, dass der Text links oben steht. Weißt du, wie das geht?

Antwort
von zalto, 39

Da könnte eine Inkompatibilität zwischen Java und dem Grafikkartentreiber sein. Dabei hilft, das Anti-Aliasing abzuschalten.

https://java.com/en/download/help/blank_controlpanel.xml 

Kommentar von SuperSpace ,

http://pastebin.com/kRkZ0jiK

Ich musste einige Links entfernen, da diese nicht öffentlich gemacht werden dürfen :). Sorry für das durcheinander. Wie gesagt ich bin relativ neu in Java ^^.

Und noch eine Frage: Ich kriege es nicht hin, dass der Text links oben steht. Weißt du, wie das geht?

Kommentar von KnusperPudding ,

Jetzt verstehe ich deinen Effekt.

Die Lösung ist relativ "simpel": Du erstellst eine Instanz von JFrame, setzt die Größe und anschließend die Sichtbarkeit und fängst erst dann an, die Komponenten hinzu zu fügen. 

Demnach müsstest du einfach:

frame.setSize(800, 600);
frame.setVisible(true);

Weiter unten in deiner GUI Methode aufrufen.

Ich kriege es nicht hin, dass der Text links oben steht. Weißt du, wie das geht?

Du meinst das Loginfenster? Es wird aktuell Mitte-Links angezeigt, da deni Mainpanel ein Borderlayout ist und es im "West-Bereich" anfügst. willst du es also links oben haben, hänge ein weiteres Panel an den North-Bereich mit Borderlayout und hänge dieses Panel dann dort an den West-Bereich. 

mainpanel.add(panel, BorderLayout.WEST);

Bin von Swing ehrlich gesagt gar nicht so begeistert, da man mit code zu viel GUI-Gestaltung Lösung muss, was eigentlich unnötig ist, da Java mit JavaFX jetzt eigentlich das viel Eleganter löst...

Kommentar von SuperSpace ,

Danke. Werde es nachher versuchen

Kommentar von SuperSpace ,

Am Anti-Aliasing liegt es nicht

Antwort
von janwelter, 38

Ohne Quellcode lässt sich nicht viel sagen

Keine passende Antwort gefunden?

Fragen Sie die Community