Update des fensters beim Ersetzen von JPanels

Status
Nicht offen für weitere Antworten.

silentwater

Mitglied
Hallo

ich möchte (im FullscreenModus) ein JPanel durch ein anderes ersetzen. Im Thread www.java-forum.org/de/topic57977_austausch-center-fl-che.html habe ich auch eine Lösung des Problems gefunden, mit der Methode validate(). Allerdings klappt dies bei mir nur, wenn ich das JPanel zuvor mit remove entferne, und danach das neue einfüge.

Code:
public class Fullscreen extends JFrame implements ActionListener{

	private static final long serialVersionUID = 1L;
	
	private JPanel screenPanel;
	
	private World world;
	
	public Fullscreen(World world){

		screenPanel = new JPanel();
		this.getContentPane().add(screenPanel);
		
		showStartingScreen();
	}
	
	public void showStartingScreen(){
		this.getContentPane().remove(screenPanel);
		screenPanel = new StartingScreenPanel();
		this.getContentPane().add(screenPanel);
		this.validate();
	}
	
}

Meine Frage ist nun, warum muss ich das JPanel zuerst entfernen. Bzw., warum wird das Fenster nicht geupdatet, wenn die Funktion showStartingScreen folgendermaßen ausschaut?

Code:
	public void showStartingScreen(){
		screenPanel = new StartingScreenPanel();
		this.validate();
	}
 

The_S

Top Contributor
Weil du dann eine neue Instanz von StartingScreenPanel erzeugst und diese NICHT auf deinem Container liegt. Dort liegt weiterhin die "alte Version".
 

The_S

Top Contributor
nö, du kannst auch einfach das neue drüber legen (z. B. bei einem BorderLayout). Nur du darfst nicht erwarten, dass du das JPanel einfach neu erzeugst und es dann von Zauberhand angezeigt wird ...
 

silentwater

Mitglied
Hobbit_Im_Blutrausch hat gesagt.:
Nur du darfst nicht erwarten, dass du das JPanel einfach neu erzeugst und es dann von Zauberhand angezeigt wird ...

....das habe ich auch nicht. Ich hatte über, validate(), doLayout(), update(); fast alle Methoden versucht die mir die Klassen JPanel und JFrame bieten. Einen Layout Manager verwende ich allerdings nicht (statt dessen NullLayout). Nur wurde das neue JPanel nie gezeichnet.
 

The_S

Top Contributor
nochmal:

Du schreibst

Code:
deinPanel = new DeinePanelKlasse();

dadurch erzeugst du ein vollkommen NEUES Objekt, welches noch nirgendwo geadded wurde. Auch nicht wenn du das alte Objekt dieser Klasse bereits deinem Container geadded hat. Diese neue Objekt muss auf jedenfall deinem Container geadded werden. Daran führt kein Weg vorbei. Und wenn du ein Null-Layout verwendest (was man übrigens nicht machen sollte), dann führt wohl auch kein Weg vorbei das alte JPanel vorher zu entfernen.
 

silentwater

Mitglied
Danke für die Antwort. Das hat mir weitergeholfen.

PS: Ich verwende ein Null Layout, da ich ein Spiel programmiere will, und daher die meisten Sachen per Hand zeichnen werde (in der paint Methode).
 

The_S

Top Contributor
Das ist auch kein Grund das Null-Layout zu verwenden, da du wie du ja schon sagst, die nicht fest positionierbaren Elemente selbst zeichnest ;) .
 

silentwater

Mitglied
Ja das stimmt schon........

Zum entwerfen des Spiels macht es aber bisher weniger Mühe, da es nur im Fullscreen Modus mit einer festgelegten Auflösung läuft.

Nicht eine schöne Lösung, muss ich zugeben, aber die Oberfläche ist momentan sowieso nur provisorisch. Im Endeffekt wäre es schön, wenn ich alle Auflösungen anbiete, die der Bildschirm unterstützt, dafür ist dann ein Layoutmanager notwendig, wenn ich nicht alles unschön per Hand umrechnen will.

Steht sozusagen auf der TODO Liste :D
 

Xams

Bekanntes Mitglied
Ein Tipp, nimm von Anfang an Layoutmanager, sonst MUSST du die komplette GUI nochmal neu schreiben
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
T ProgressBox - Update AWT, Swing, JavaFX & SWT 9
Ernesto95 JavaFX JavaFX GUI mit sehr vielen Update requests AWT, Swing, JavaFX & SWT 4
G update, paintComponent AWT, Swing, JavaFX & SWT 1
T GUI Update /EDT AWT, Swing, JavaFX & SWT 7
izoards JavaFX Concurrency Update UI AWT, Swing, JavaFX & SWT 35
ms_cikar Update swingUtilities Repaint in der Schleife AWT, Swing, JavaFX & SWT 3
J TableView Update/Refresh CPU AWT, Swing, JavaFX & SWT 2
A Verständnisfragen im Umgang mit update() und JFrames AWT, Swing, JavaFX & SWT 5
ralfb1105 Swing JComboBox update der Daten AWT, Swing, JavaFX & SWT 8
blazingblade JavaFX Tableview Clock Column update AWT, Swing, JavaFX & SWT 5
R Update eines Labels bei Methodenaufruf einer anderen Klasse AWT, Swing, JavaFX & SWT 9
B Swing Update Swing Komponente bevor Methode startet. AWT, Swing, JavaFX & SWT 4
M JavaFX ComboBox: Update zur Laufzeit AWT, Swing, JavaFX & SWT 16
W Swing ProgressBar update AWT, Swing, JavaFX & SWT 4
B IconImage update im Tabbedpane AWT, Swing, JavaFX & SWT 3
M Update überschreiben klappt nicht AWT, Swing, JavaFX & SWT 4
Q JList Update Problem AWT, Swing, JavaFX & SWT 1
N Observer: update ruft nicht repaint auf AWT, Swing, JavaFX & SWT 0
M "Update" der JTable funktioniert nicht AWT, Swing, JavaFX & SWT 2
S Swing Update eine JTabelle nach einer Drag&Drop Operation AWT, Swing, JavaFX & SWT 0
C Swing Update von swing-TableModels per Thread. Eins geht, das andere nicht, warum? AWT, Swing, JavaFX & SWT 12
V Swing Update Textarea AWT, Swing, JavaFX & SWT 2
T Event Handling JFreeChart Update AWT, Swing, JavaFX & SWT 2
Farbtopf Live update JFreeChart AWT, Swing, JavaFX & SWT 3
F Swing GUI-Thread für automatisches Update nutzen AWT, Swing, JavaFX & SWT 10
El_Lobo Swing bei Update von Graphik Koordinatensystem nicht jedesmal neu zeichnen AWT, Swing, JavaFX & SWT 2
M Update JPanel AWT, Swing, JavaFX & SWT 12
N update model nach dem filtern AWT, Swing, JavaFX & SWT 2
E Umgang mit der Update Methode AWT, Swing, JavaFX & SWT 38
E Swing Update JTable AWT, Swing, JavaFX & SWT 6
L Update JTree Verzeichnisse AWT, Swing, JavaFX & SWT 9
G Swing Update-Funktion für Swing-Anwendung AWT, Swing, JavaFX & SWT 5
E Swing JTextField Listener nach Update?! AWT, Swing, JavaFX & SWT 2
D Swing JTable Problem bei automatischem update von Zellen AWT, Swing, JavaFX & SWT 3
P 2D-Grafik PaintComponent() übernimmt keine Werte aus update() AWT, Swing, JavaFX & SWT 8
D Swing update eines Labels nicht sichtbar AWT, Swing, JavaFX & SWT 9
N Tablle nach SQL-Update neu Laden AWT, Swing, JavaFX & SWT 4
M SWT grabExcessHorizontalSpace update ? refresh ? AWT, Swing, JavaFX & SWT 6
P Observer und GUI Update AWT, Swing, JavaFX & SWT 2
w0ddes Swing Update: Laufendes GUI updaten AWT, Swing, JavaFX & SWT 8
D JTable während edit kein update machen lassen AWT, Swing, JavaFX & SWT 2
M Swing Kein update bei simulierten HTML-Link AWT, Swing, JavaFX & SWT 4
C SWT Shell update probleme - Mausbewegung nötig AWT, Swing, JavaFX & SWT 2
hdi Swing GUI update vs. Process Speed AWT, Swing, JavaFX & SWT 31
hdi Swing Gui Update Problem (EDT) AWT, Swing, JavaFX & SWT 6
C JList update über tabbedPane? AWT, Swing, JavaFX & SWT 18
M Update einer JTEextArea AWT, Swing, JavaFX & SWT 2
H JTable mySQL Update AWT, Swing, JavaFX & SWT 8
G Features nach Update löschen AWT, Swing, JavaFX & SWT 2
J Fragen zur Vererbung und Update AWT, Swing, JavaFX & SWT 12
B Update von JLabels AWT, Swing, JavaFX & SWT 2
C Habe Probleme beim Bild laden! *Update 30.11.2006* AWT, Swing, JavaFX & SWT 28
C JTreeTable update Problem AWT, Swing, JavaFX & SWT 4
S Probleme mit dem Update einer JList AWT, Swing, JavaFX & SWT 7
B View zeichnet Daten aus dem Model ohne Update AWT, Swing, JavaFX & SWT 4
A Update von Frameinhalt und Scrollbar AWT, Swing, JavaFX & SWT 11
F MVC: Update von View und Controller AWT, Swing, JavaFX & SWT 5
C JTable update: Selektion beibehalten AWT, Swing, JavaFX & SWT 12
P paintComponent /paint/ update/ offscreenImage / Graphics2D / AWT, Swing, JavaFX & SWT 4
S JMenuBar + update AWT, Swing, JavaFX & SWT 3
G JTree - ungültiger selection update AWT, Swing, JavaFX & SWT 2
G Problem mit JLabel Update AWT, Swing, JavaFX & SWT 3
C [JTable] Update der Datenbank AWT, Swing, JavaFX & SWT 6
N update()-Methode für Canvas AWT, Swing, JavaFX & SWT 9
A problem mit update nach event, JSplitpane spinnt AWT, Swing, JavaFX & SWT 2
S Update von Grafik auf JPanel AWT, Swing, JavaFX & SWT 2
M GUI Update während der Verarbeitung einer Methode AWT, Swing, JavaFX & SWT 3
M update JTable AWT, Swing, JavaFX & SWT 3
T Problem bei Update von JTables in JTabbedPane AWT, Swing, JavaFX & SWT 2
D Problem beim Update von unsichtbaren JComponents mit Timern AWT, Swing, JavaFX & SWT 5
D Swing: GUI-Update-Problem AWT, Swing, JavaFX & SWT 3
J Warum funktioniert das Update des UI nicht? AWT, Swing, JavaFX & SWT 8
I GUI-Update-Probleme AWT, Swing, JavaFX & SWT 2
G Update von JPanel nach Buttonbetätigung AWT, Swing, JavaFX & SWT 1
melaniemueller Verschiebung eines Fensters über Button AWT, Swing, JavaFX & SWT 27
Lukas2904 LookAndFeel Wie ändere ich das allgemeine Disigne des Fensters? AWT, Swing, JavaFX & SWT 4
R NullPointerException beim Start des Fensters AWT, Swing, JavaFX & SWT 1
MiMa Schliessen eines FXML Fensters? AWT, Swing, JavaFX & SWT 10
N Aktualisierung des Fensters AWT Java ohne Ruckeln AWT, Swing, JavaFX & SWT 3
emma_louisa JavaFX Werte beim Aufrufen des Fensters übernehmen (SceneBuilder) AWT, Swing, JavaFX & SWT 3
T JButton wird beim vergrößern des Fensters erst sichtbar AWT, Swing, JavaFX & SWT 4
W Farbe des Fensters AWT, Swing, JavaFX & SWT 2
C LayoutManager Bei verkleinern des Fensters, verschieben sich JPanels übereinander. AWT, Swing, JavaFX & SWT 7
J JTable bounds ändern durch resizing des Fensters AWT, Swing, JavaFX & SWT 9
Krappe87 JavaFX minWidth/minHeigth der Stage (des Fensters) festlegen AWT, Swing, JavaFX & SWT 4
A LayoutManager Statusleiste auch nach Verkleinerung des Fensters anzeigen AWT, Swing, JavaFX & SWT 1
X Swing Größe eines Fensters JFrame / Frame AWT, Swing, JavaFX & SWT 5
M Seltsames Problem mit Resize eines Fensters und seiner Komponenten AWT, Swing, JavaFX & SWT 2
M ImageIcon Bild wird beim verkleinern des Fensters nicht verkleinert AWT, Swing, JavaFX & SWT 3
S Swing Aktualisierung Fensters AWT, Swing, JavaFX & SWT 7
D Aufruf neuer Klasse ohne Erzeugung eines neuen Fensters AWT, Swing, JavaFX & SWT 3
H Thread-Problem mit der Darstellung beim Sperren des Fensters AWT, Swing, JavaFX & SWT 2
S SWT Unterbindung der Minimierung/Maximierung eines Fensters AWT, Swing, JavaFX & SWT 10
W Swing Event bei Schließen des Fensters AWT, Swing, JavaFX & SWT 6
B aktuelle Position des Fensters ermitteln AWT, Swing, JavaFX & SWT 3
H GridBagLayout spinnt beim vergrößern des Fensters als auch beim Maximieren AWT, Swing, JavaFX & SWT 4
Z JPanel wird erst durch aufziehen des Fensters sichtbar AWT, Swing, JavaFX & SWT 3
C Auf Größenänderung eines Fensters (JFrame) reagieren AWT, Swing, JavaFX & SWT 2
R AWT [Anfänger] Darstellungsfehler bei Größenändereung einese Fensters AWT, Swing, JavaFX & SWT 2
A Swing Bei größe verändern des Fensters Grafik weg AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben