GUI-Fenster

Status
Nicht offen für weitere Antworten.
Hallo,

ich habe Schwirigkeiten mit meinem GUI-Fenster. Wenn ich das Fenster minimiere bzw. ein anderes Fenster (eine andere Anwendung) aufmache und damit meine GUI-Fenster sich im Hintergrund befindet, sehe ich dann in meiner GUI gar nichts mehr, wenn ich sie wieder in Vordergrund aufrufe. Das Fenster ist dann einfach ohne Inhalt. Die Komponenten sind nur dann wieder sichtbar, falls ich das Fenster mit der Maus groß oder klein ziehe oder zweimal auf Titelleiste drücke.

Folgendes habe ich versucht, hat aber nichts geholfen:

WindowListener, WindowStateListener, WindowFocusListener (alle möglichen Listener halt ;) ) und beim maximieren der Fenster bzw. beim Rufen der GUI in Vordergrund folgende Methoden-Aufruf:

repaint(), setVisible(true), setSize(bla, bla) => Diese Methoden habe ich einzeln und kombiniert aufgerufen.

Aber es tut sich nichts. Meine GUI hat schon mehrere und verschiedene Komponenten, die zum großen Teil mit GridBagLayout arbeiten.


Weiß vielleicht jemand wie ich das Problem beheben könnte?

Viele Grüße
 
S

SlaterB

Gast
validate() hilft auch manchmal, wobei ich jetzt gar nicht genau weiß, woran das liegt,

-------

auf jeden Fall hast du Fehler im GUI-Aufbau, die du generell beheben musst,
dann kannst du dir alle anderen Verrenkungen sparen,

fügst du Komponenten nach dem Aufruf von setVisible(true) auf das JFrame hinzu?

vielleicht gar erst später im Programm, auch Austausch von JPanels oder ähnliches?

hast du Swing- + AWT-Komponenten gemischt?
 

The_S

Top Contributor
Vermutlich ein repaint problem.

Saubere Möglichkeit: Du durchsuchst deinen Code, wo sachen hinzugefügt oder entfert werden, sobald das Fenster in den Hintergrund gelangt bzw. irgendwas, was den content komplett entfernt, aktualisiert, wieder einfügt, nicht wieder aktualisiert oder ähnliches

Quick and Dirty: Jedesmal wenn diese Problem auftritt (in den hintergrund, in den vordergrund) ein validate und ggf. noch ein repaint aufrufen.
 
erstmal danke für die gegebene Informationen.

fügst du Komponenten nach dem Aufruf von setVisible(true) auf das JFrame hinzu?

vielleicht gar erst später im Programm, auch Austausch von JPanels oder ähnliches?

hast du Swing- + AWT-Komponenten gemischt?


also, die letzten zwei Punkte kommen bei mir nicht vor. Aber ganz am Anfang füge ich eine Komponente nach dem setVisible(true), ist das generell nicht erlaubt? Das mach ich deswegen , weil eine Komponente sich von Höhe her auf der gleichen Position befinden muss, wie eine bestimmte andere Komponente, von der ich nur dann die Location bekomme, wenn ich setVisible(true) gemacht habt, denn sonst wird immer 0 geliefert und ich kann nichst damit anfangen. Deswegen mach ich zuerst setVisible(true), dann hole ich mir von einer bestimmten Komponente durch getLocation().y die Höhe in der er sich befindet und setze ich damit die Höhenposition einer anderen Komponente. Aber sonst später wird ncihts neu hinzugefügt oder entfernt.


Quick and Dirty: Jedesmal wenn diese Problem auftritt (in den hintergrund, in den vordergrund) ein validate und ggf. noch ein repaint aufrufen.

In diesem Fall hat es mir auch nicht viel gebracht, aber danke für die Information, jetzt kenne ich noch eine neu Methode.

Ich habe das Problem folgendermaßen gelöst:

Code:
implements WindowListener

...

addWindowListener(this)

...

	public void windowActivated(WindowEvent e) {
		int h = this.getSize().height;
		int w = this.getSize().width;
		
		this.setSize(w+1, h+1);
		this.setVisible(true);
		
	}

aber nur so funktioniert es. Und wenn ich eine andere Kombination von setSize, setVisible,repaint , oder validate nehme, dann funktioniert es wieder nicht. Ich kann mir das aber nicht erklären warum es so ist., denn so wird ja jedes Mal der Fenstegröße um eins erhöht. Und wenn ich hier gleich nach dem setVisible(true) nochmal die Fenstergröße zurücksetzte, dann klappts auch nicht. So funktioniert es zwar, aber ich bin nicht so begeistert von meiner Lösung.[/quote]
 
S

SlaterB

Gast
> Aber ganz am Anfang füge ich eine Komponente nach dem setVisible(true), ist das generell nicht erlaubt?

wie gesagt erschien mir deine Problembeschreibung schon so ungewöhnlich,
dass meine Standardfragen dazu eigentlich nicht passen,

denn 'Komponente nach dem setVisible(true) einfügen' sollte es höchstens dazu kommen, das beim Start etwas nciht zu sehen ist, bis du die Größe änderst,
außerdem sollten dann alle Probleme nach einmaliger Größenänderung dauerhaft behoben sein und nicht später wiederkommen (was bei dir der Fall ist?)

damit muss man auch falsche Programmierung der überschriebenen paint()-Operationen in Betracht ziehen,
falls du solche verwendest?

ein allgemeiner Fehler ist dabei, super.paint(g); nicht aufzurufen,
oder man sollte paintComponent() statt paint() überschreiben,

oder direkt ein Fehler in deinem Code, beliebige Ursache,

ist aber alles nur müdes Gestochere ohne Code-Beispiel
(am besten komplett lauffähiges Programm, natürlich super-kurz)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M suche geeignetes Fenster zur Anzeige AWT, Swing, JavaFX & SWT 49
berserkerdq2 Kann ich ein Rechteck mittig im Fenster halten, egal wie ich die Bildschirmgröße verändere? AWT, Swing, JavaFX & SWT 3
W 2 JTables in einem Swing-Fenster? AWT, Swing, JavaFX & SWT 5
berserkerdq2 Wie füge ich ein Bild in javafx mit dem Scenebuilder ein, das automatisch mitgezogen wird, wenn das Fenster vergrößert wird oder Vollbildmodus AWT, Swing, JavaFX & SWT 6
TheSepp Fenster um x Pixel bewegen, wenn man auf dem Knopf drückt AWT, Swing, JavaFX & SWT 10
J JavaFx PDF in einem Element in einem Fenster anzeigen. AWT, Swing, JavaFX & SWT 11
K JavaFX unterschiedliche (mehrere Fenster) in seperater Main Methode AWT, Swing, JavaFX & SWT 26
G Kann man ein 2. JavaFX-Fenster auch beenden (exit) statt schließen (close) lassen? AWT, Swing, JavaFX & SWT 8
L Swing Files abspeichern mit Save as Dialog Fenster AWT, Swing, JavaFX & SWT 5
OZAN86 einfaches Fenster öffnen scheitert AWT, Swing, JavaFX & SWT 18
G Zuletzt aktives Fenster, vor dem aktuell aktiven AWT, Swing, JavaFX & SWT 2
sserio Kann man bei JavaFx ein Fenster aufkommen lassen? AWT, Swing, JavaFX & SWT 1
Z GUI Forms - Mehrere Fenster in einem Projekt AWT, Swing, JavaFX & SWT 18
S Swing Alles beenden bei Fenster mit Scroll-Balken AWT, Swing, JavaFX & SWT 6
CptK windowClosed() nur aufrufen, wenn Fenster nicht über Button geschlossen wird AWT, Swing, JavaFX & SWT 1
W Zweites/neues Fenster durch Button öffnen AWT, Swing, JavaFX & SWT 6
CptK Fokus auf geöffnetes Zweit-Fenster setzen und Eingaben außerhalb blocken AWT, Swing, JavaFX & SWT 2
B Text mit Absatz + OK-Button, der Fenster wieder schließt AWT, Swing, JavaFX & SWT 7
MiMa JavaFX Fenster in JavaFX öffnen Schliessen (Initialisierung) AWT, Swing, JavaFX & SWT 20
N Kontextmenü (Popup-Fenster) erstellen AWT, Swing, JavaFX & SWT 3
L Hintergrundbild im Fenster darstellen AWT, Swing, JavaFX & SWT 9
P JavaFX Fenster wird nicht angezeigt (Mac) AWT, Swing, JavaFX & SWT 13
VPChief Buttons Reagieren erst wenn ich Fenster minimiere AWT, Swing, JavaFX & SWT 4
B JavaFX TextField Eingabe in neues Fenster übernehmen AWT, Swing, JavaFX & SWT 4
N Drag and Drop Fenster AWT, Swing, JavaFX & SWT 11
A Swing JTextField an Button übergeben für Popup-Fenster funktioniert nicht AWT, Swing, JavaFX & SWT 3
P JavaFX Zugriff auf Fenster/Layout-Container in eigenen Klassen AWT, Swing, JavaFX & SWT 5
Bluedaishi JavaFX Programm start mit zwei scenen bzw Fenster AWT, Swing, JavaFX & SWT 1
J Fenster mit Inhalten aus einem Array Füllen AWT, Swing, JavaFX & SWT 4
S Swing Fenster State Machine AWT, Swing, JavaFX & SWT 1
A Fenster genau unterhalb von JTextField anzeigen AWT, Swing, JavaFX & SWT 1
J Overlay Panel statt neues Fenster AWT, Swing, JavaFX & SWT 6
S Swing Bei start des Programmes kein Fenster zu sehen AWT, Swing, JavaFX & SWT 1
X Neues Fenster mit Button öffnen und bearbeiten AWT, Swing, JavaFX & SWT 4
platofan23 JAVAFX zweites Fenster öffnen AWT, Swing, JavaFX & SWT 2
M JavaFX Altes Fenster (FXML Datei) löschen AWT, Swing, JavaFX & SWT 16
P JavaFX Fenster lädt nicht mehr AWT, Swing, JavaFX & SWT 4
I AWT Listener während man in anderem Fenster ist AWT, Swing, JavaFX & SWT 4
S JavaFX Fenster aufkommen lassen, wenn mit der Maus über bestimmten Bereich fahren AWT, Swing, JavaFX & SWT 1
L Java- UI zweites Fenster aus einer anderen Klasse öffnen durch ButtonClick AWT, Swing, JavaFX & SWT 4
D Swing Neues (3.) Fenster öffnen AWT, Swing, JavaFX & SWT 2
G JavaFX Fenster 1 Array übertragen zur Fenster 2 AWT, Swing, JavaFX & SWT 0
I JavaFX Fenster wird auf einem anderen Rechner anders dargestellt AWT, Swing, JavaFX & SWT 5
K Fenster welches den Sieger anzeigt AWT, Swing, JavaFX & SWT 5
O JavaFX Fenster scließen AWT, Swing, JavaFX & SWT 4
A Swing Fenster ändert Position bei Mausklick nicht AWT, Swing, JavaFX & SWT 2
S SWT neues Fenster, buttons aus alten etc... AWT, Swing, JavaFX & SWT 0
D Java FXML mehrere Fenster AWT, Swing, JavaFX & SWT 4
L Input aus Sub-Fenster Startfenster übergeben AWT, Swing, JavaFX & SWT 5
B AWT Fenster schließt nicht AWT, Swing, JavaFX & SWT 2
H JavaFX Kriege fehler beim Fenster wechseln AWT, Swing, JavaFX & SWT 7
G Swing Wenn ich mein JFrame Fenster vergrößere die Inhalte anpassen AWT, Swing, JavaFX & SWT 1
U Swing Inhalt vom Fenster wird erst durch Hovern oder Klicken sichtbar AWT, Swing, JavaFX & SWT 3
A Nach klick auf Button neuen Inhalt im gleichen Fenster AWT, Swing, JavaFX & SWT 3
T Fenster schließen AWT, Swing, JavaFX & SWT 4
K JavaFX ObservableList + Fenster AWT, Swing, JavaFX & SWT 6
windl Transparentes / halbtransparentes Fenster AWT, Swing, JavaFX & SWT 1
K Fenster mittig im Vollbildschirm - ok, aber ... AWT, Swing, JavaFX & SWT 2
N Swing Sorry nicht mal ein Fenster öffnen... AWT, Swing, JavaFX & SWT 19
S actionlistener mit 2 fenster integrieren AWT, Swing, JavaFX & SWT 11
G Event Handling TableView daten in ein neues Fenster herauslesen? AWT, Swing, JavaFX & SWT 3
C Benutzername in GUI eingeben und nach Spiel neues Fenster Benutzername wieder anzeigen AWT, Swing, JavaFX & SWT 1
C Durch klicken von Button neues Fenster oeffnen AWT, Swing, JavaFX & SWT 18
D JavaFX (WebStart) Graues Fenster beim Start AWT, Swing, JavaFX & SWT 4
J Button vergrößert sich bei Fenster resize AWT, Swing, JavaFX & SWT 22
L Zweites Fenster mit Thread AWT, Swing, JavaFX & SWT 0
Paul15 Zwei Fenster AWT, Swing, JavaFX & SWT 23
T LayoutManager Methode, um Bildschirm(fenster) für Aktualisierungen zu blockieren bzw. freizugeben gesucht AWT, Swing, JavaFX & SWT 2
C AWT Problem mit Protokol Fenster AWT, Swing, JavaFX & SWT 0
L Daten in neuem Fenster AWT, Swing, JavaFX & SWT 2
D Mit Klick auf Button ein neues Fenster erzeugen AWT, Swing, JavaFX & SWT 11
I JTable: Doppelklick auf Table soll neues Fenster öffnen und Daten aus JTable anzeigen AWT, Swing, JavaFX & SWT 4
A Swing Textübergabe innerhalb der Anwendung in unterschiedlichen Fenster AWT, Swing, JavaFX & SWT 8
wolfgang63 JavaFX Animation, Kreise im vorgegebem Takt durchs Fenster laufen lassen AWT, Swing, JavaFX & SWT 3
K Java Button öffnet neues Fenster AWT, Swing, JavaFX & SWT 5
Z Fenster leer, wenn ich ein JTextField erzeuge AWT, Swing, JavaFX & SWT 3
W Swing JScrollPane für mein Fenster AWT, Swing, JavaFX & SWT 4
X Swing 2 Fenster (1 im Vordergrund) AWT, Swing, JavaFX & SWT 6
X Swing Ein neues Fenster öffen aber ohne ein extra Prozess zu starten AWT, Swing, JavaFX & SWT 1
T JavaFX ControlsFX-Notification öffnet nicht wenn kein JavaFX-Fenster offen. AWT, Swing, JavaFX & SWT 1
E JavaFX JavaFX Fenster nicht schließen AWT, Swing, JavaFX & SWT 4
K JavaFX Fenster aufrufen über Menü AWT, Swing, JavaFX & SWT 1
thet1983 offne Fenster gemeinsam schließen AWT, Swing, JavaFX & SWT 8
H AWT Fenster- und JLabel-Größe automatisch anpassen AWT, Swing, JavaFX & SWT 2
Z JSlider im Modalen-Fenster AWT, Swing, JavaFX & SWT 0
Tort-E JavaFX Fenster nachladen AWT, Swing, JavaFX & SWT 1
V Fenster in einem Fenster anordnen AWT, Swing, JavaFX & SWT 7
I Zwei Fenster nebeneinander anzeigen AWT, Swing, JavaFX & SWT 2
U Fenster beim Vergörßern immer quadratsich AWT, Swing, JavaFX & SWT 7
Q Swing Fenster updaten - Hinzugefügte Komponenten darstellen AWT, Swing, JavaFX & SWT 3
E Alles in einem Fenster AWT, Swing, JavaFX & SWT 5
A Fenster erstellen AWT, Swing, JavaFX & SWT 2
I Swing Beim Fenster das kleine Symbol(ICS) ändern AWT, Swing, JavaFX & SWT 3
K JavaFX Vorschau Bereich/Fenster einer bestehenden Group AWT, Swing, JavaFX & SWT 3
G Scrollbar für das Fenster einfügen AWT, Swing, JavaFX & SWT 3
X Fenster von außen ansprechen AWT, Swing, JavaFX & SWT 7
brunothg Swing JTable -> AUTO_RESIZE_OFF aber das Fenster ausfüllen AWT, Swing, JavaFX & SWT 0
G jLabel aus anderem Fenster ändern AWT, Swing, JavaFX & SWT 7
G JavaFX Neues Fenster erstellen AWT, Swing, JavaFX & SWT 3
A SWT Fenster bei MouseOver vergrößern AWT, Swing, JavaFX & SWT 5

Ähnliche Java Themen

Neue Themen


Oben