alten Container wieder aufrufen

Status
Nicht offen für weitere Antworten.

DR

Bekanntes Mitglied
Hallo,

Also ich hab das Problem, dass ich ein Programm habe, welches durch "weiter" drücken, ein neues Aussehen bekommt (Am Anfang ist zum Beispiel das Fenster mit den Buttens "Programm starten" und "Beenden", wenn man auf "Programm starten" drückt, kommt dann eine Abfrage, welchen Programm man starten will usw.). Und ich will es so machen, dass man, wenn man dann das besagte Programm beendet hat, wieder die Wahl hat, zu dem Abfragemenu zurück zu gehen, indem man auswählen kann, welches Programm man starten will. Das Problem ist jetzt, wie man es einrichtet, dass man das frühere Layout speichert, es löscht und es dann später wieder abrufen kann! Ich komme da einfach nicht mehr weiter und wäre dankbar, wenn mir jemand ein bisschen weiter helfen würde!!

Vielen Dank jetzt schon mal!

MfG DR
 

Wildcard

Top Contributor
Bau die 'Layouts' deines Programms nicht direkt auf den Frame sondern auf einzelne Panels.
Diese Panels kannst du dann zur Laufzeit austauschen.
 

DR

Bekanntes Mitglied
Wie meinst du das mit einzelnen Panels? Tschuldigung, ich bin noch nicht so weit in Java :(
Kannst du das vielleicht ein bisschen erläutern?

Danke jetzt schon mal!

MfG DR
 

Wildcard

Top Contributor
Anstatt die Komponenten direkt in den Frame zu setzen kannst du die Komponenten auch einem Panel hinzufügen.
Initialisieren kannst du das Programm dann zB mit
Code:
jframe.setContentPane(erstesPanel);
Wenn der nächste Bildschirm aufgerufen werden soll machst du dann
Code:
jframe.setContentPane(zweitesPanel);
usw...
 

DR

Bekanntes Mitglied
Nochmal eine kleine Frage? Was ist jetzt "erstesPanel" und "zweitesPanel"?
 

DR

Bekanntes Mitglied
Also ich hab mir jetzt ein kleines Beispielprogramm aufgebaut, aber das Problem ist, dass das, was vorher da war, nicht weg geht, sondern da bleibt. Wie bekommt man das am besten Weg?

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Test extends JFrame{
  Test(){

    Container cp = getContentPane();
    
    JLabel label = new JLabel("Test1");
    cp.add(label);
    

    setVisible(true);
    
    setContentPane(cp);
    
    try{
      Thread.sleep(5000);
    }catch(InterruptedException e){

    }

    Container ct = getContentPane();

    JLabel lab = new JLabel("Test2");
    ct.add(lab);

    setContentPane(ct);
  }
  public static void main(String[] args){
    Test t = new Test();
  }
}

Danke jetzt schon!

MfG DR
 

DR

Bekanntes Mitglied
Ich würde mich gerne über eine Antwort freuen! So ist es ja nicht ... :)
 

Leroy42

Top Contributor
Du solltest dich noch ein bischen mehr in die GUI und den EDT einarbeiten.
Durch setVisible(true) wird nicht direkt das Fenster sichtbar,
sondern der GUI nur gesagt, daß sie (sobald sie dran ist),
das Fenster zeigen soll.

Der Aufruf von sleep bewirkt eine Verzögerung der Konstruktor-
Methode, so daß der EDT gar keine Möglichkeit bekommt um
aktiv zu werden. :(

Lösung deines Problems sieht ungefähr so aus:

Code:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class Test extends JFrame{
	JPanel panel1 = new JPanel();
	JPanel panel2 = new JPanel();

  Test(){
    Container cp = getContentPane();
    JLabel label1 = new JLabel("Test1");
    JLabel label2 = new JLabel("Test2");
    JButton button1 = new JButton("Start");
    JButton button2 = new JButton("Reset");
    button1.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			switchTo(panel2);
		}});
    button2.addActionListener(new ActionListener() {
		public void actionPerformed(ActionEvent e) {
			switchTo(panel1);
		}});
    panel1.add(button1); panel1.add(label1);
    panel2.add(button2); panel2.add(label2);
    cp.add(panel1);
    setBounds(100, 100, 200, 200);
    setVisible(true);
  }

  void switchTo(JPanel panel) {
	  Container cp = getContentPane();
	  cp.removeAll();
	  cp.add(panel);
	  invalidate();
	  validate();
	  repaint();
  }

  public static void main(String[] args){
    Test t = new Test();
  }
}

Aber nicht blind übernehmen, sondern verstehen.
Dazu mußt du schon entsprechende Tutorial-Kapitel durcharbeiten.
 

DR

Bekanntes Mitglied
Leroy42 hat gesagt.:
Aber nicht blind übernehmen, sondern verstehen.
Dazu mußt du schon entsprechende Tutorial-Kapitel durcharbeiten.

Das mach ich natürlich ;) ... Aber diese Ganzen Bücher und so brauchen auch ihre Zeit (Warum sind die auch so dick?! :D)

MfG DR
 

Leroy42

Top Contributor
Weil die Buchstaben so groß sind? :shock:
Weil in einem Java-Tutorial mehr drinsteht als in der Bedienungsanleitung einer Kaffemühle :shock:
Weil die Autoren dich ärgern wollen :shock:
Weil die Verlage nach Gewicht Knete machen :shock:
Weil heute Freitag ist :shock: :shock:
:cool:
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W In alten Code zurück- und dort wieder zurechtfinden? Java Basics - Anfänger-Themen 17
L Methoden Rekursion gibt alten Wert wieder Java Basics - Anfänger-Themen 37
D Neue Array übernimmt Werte des alten nicht Java Basics - Anfänger-Themen 5
Developer_X Die Kunst der Alten Runen in Chars, leider nicht in String konvertierbar? Java Basics - Anfänger-Themen 28
N alten Thread vor erneutem Aufruf schließen Java Basics - Anfänger-Themen 9
ven000m Eclipse startet nicht mehr nach Deinstalltion von alten JRE Java Basics - Anfänger-Themen 6
G Variable nur ändern wenn. sonst alten Wert behalten Java Basics - Anfänger-Themen 8
O Bei FileDialog alten Inhalt löschen Java Basics - Anfänger-Themen 7
G Text übertragen, ohne alten zu überschreiben Java Basics - Anfänger-Themen 6
T Klassen Doppelte Elemente aus Container entfernen Java Basics - Anfänger-Themen 6
H Zeichnung in Container Java Basics - Anfänger-Themen 8
J Container Java Basics - Anfänger-Themen 1
B Schleife über einen Container Java Basics - Anfänger-Themen 7
M GUI- mehrere Komponenten auf Container adden Java Basics - Anfänger-Themen 2
Q Container sinn? Java Basics - Anfänger-Themen 3
O Container Inhalt auslesen Java Basics - Anfänger-Themen 2
N aus Container components paint Java Basics - Anfänger-Themen 2
A Schnellster Container Java Basics - Anfänger-Themen 21
JAVAnnik Container erstellen Java Basics - Anfänger-Themen 19
N Container löschen?! Java Basics - Anfänger-Themen 3
F Container Objekt herausfinden Java Basics - Anfänger-Themen 15
M zwei JApplets in einem Container + GUI-Komponente Java Basics - Anfänger-Themen 12
D Container mit eigener Klasse Java Basics - Anfänger-Themen 5
H Container Probleme Java Basics - Anfänger-Themen 2
G Container für [key,value] elemente ? Java Basics - Anfänger-Themen 7
G unbound classpath container Java Basics - Anfänger-Themen 1
M Problem mit paint() und Container. Java Basics - Anfänger-Themen 8
C Container Java Basics - Anfänger-Themen 2
M Container Java Basics - Anfänger-Themen 2
H mehrere container Java Basics - Anfänger-Themen 2
L aufruf mit container -> ausgabe Java Basics - Anfänger-Themen 12
E Zweiten Container anlegen Java Basics - Anfänger-Themen 5
G Größe vom Container abfragen. Java Basics - Anfänger-Themen 4
G Buttons listen - Probleme mit Container Java Basics - Anfänger-Themen 6
G Panel in Container einfügen Java Basics - Anfänger-Themen 7
D JTextField in einem Container, danach auslesen Java Basics - Anfänger-Themen 10
sambalmueslie Probleme mit Container und Komponenten. Java Basics - Anfänger-Themen 3
J Bilder auf Container oder alternativen Java Basics - Anfänger-Themen 2
M Variablen Werte nach setzen, bei Abfrage wieder alter Wert Java Basics - Anfänger-Themen 11
G JTable setModel(myModel) ok -> wie wieder unset machen? Java Basics - Anfänger-Themen 8
DrahtEck Schleife soll wieder da anfangen wo ich es möchte ! Java Basics - Anfänger-Themen 17
G JTree speichern und wieder einlesen Java Basics - Anfänger-Themen 5
I Passwort in Datenbank speichern um später wieder auszulesen Java Basics - Anfänger-Themen 5
Temsky34 Wie bekomme ich dieses Java-Warning wieder weg? Java Basics - Anfänger-Themen 2
T j.u.Scanner(Sys.in).nextLine() wieder schließen? Java Basics - Anfänger-Themen 5
f3mys Objektwerte in Liste speichern und wieder abrufen Java Basics - Anfänger-Themen 23
O Text mit Regex trennen und wieder zusammenbauen Java Basics - Anfänger-Themen 5
Naxon89 Input/Output Ein PDF in einem BLOB umwandeln um ihn dann als PDF wieder anzuzeigen Java Basics - Anfänger-Themen 3
H JavaFX Hintergrundfarbe ändern, warten, Hintergrundfarbe wieder ändern Java Basics - Anfänger-Themen 34
MichelNeedhelp Brauche zu diesem Labyrinth ein Skript? Der Hamster soll im Urzeigersinn das ganze Labyrinth abgehen und wieder an seinem Ursprungsplatz sein. Java Basics - Anfänger-Themen 40
D Codeblöcke, die immer wieder im Programmverlauf benötigt werden Java Basics - Anfänger-Themen 5
TimoN11 Array -> Schleife wieder von vorne durchlaufen lassen Java Basics - Anfänger-Themen 1
JD_1998 Arrays einlesen, zwischenspeichern und wieder ausgeben Java Basics - Anfänger-Themen 8
M Regex Probleme (mal wieder) Java Basics - Anfänger-Themen 3
J Selektiertes Element von jComboBox zwischenspeichern und wieder einsetzen Java Basics - Anfänger-Themen 0
S Nutzereingabe splitten und in string array wieder ausgeben. Java Basics - Anfänger-Themen 1
I wieder mit einer Umwandelung habe ich Problem (diesmal von char Array zu char) Java Basics - Anfänger-Themen 1
N Wie kann ich einen String wieder zusammensetzen und ausgeben lassen? Java Basics - Anfänger-Themen 9
C Array-Eintrag wieder auf Null setzen Java Basics - Anfänger-Themen 3
W Verschachtelte Objekte wieder auspacken Java Basics - Anfänger-Themen 3
M Array immer wieder um ein Element erweitern Java Basics - Anfänger-Themen 6
CptK Methoden Event bei gedrückter Maustaste immer wieder ausführen Java Basics - Anfänger-Themen 1
CptK Klassen Event bei gedrückter Maus immer wieder mit Pause ausführen Java Basics - Anfänger-Themen 2
J Geld speichern und wieder auslesen Java Basics - Anfänger-Themen 10
M JTextField blitzt immer wieder nur auf Java Basics - Anfänger-Themen 12
CptK Datentypen Verdrehte Wörter wieder herstellen Java Basics - Anfänger-Themen 21
J Timer bauen, Main Methode immer wieder neu starten Java Basics - Anfänger-Themen 13
I Methoden Schleife immer wieder durchlaufen lassen Java Basics - Anfänger-Themen 15
F Immer wieder gleiche Zufallszahl? Java Basics - Anfänger-Themen 4
M Schleifenergebnis in selbiger wieder verwenden Java Basics - Anfänger-Themen 7
L jar, class, java und wieder zurück Java Basics - Anfänger-Themen 8
M aus Fenster anderes Fenster öffnen und wieder umgekehrt Java Basics - Anfänger-Themen 5
J Fenster wieder unsichtbar machen Java Basics - Anfänger-Themen 2
J Auslesen/speichern und wieder einlesen Java Basics - Anfänger-Themen 7
S Sound stoppen und nach Pause wieder abspielen Java Basics - Anfänger-Themen 6
T while schleife starten , beeneden und wieder Starten Java Basics - Anfänger-Themen 8
I Zähler, der erst wieder zählt nachdem Pixel wieder andere Farbe hat Java Basics - Anfänger-Themen 2
B javax.ejb.Timer wieder starten? Java Basics - Anfänger-Themen 0
N Methode auslagern mal wieder Java Basics - Anfänger-Themen 8
F Inhalt einer Variable auswerten, die sich immer wieder ändert Java Basics - Anfänger-Themen 1
B ja ja schon wieder einer mit einer public static void main(string[] args) Frage... Java Basics - Anfänger-Themen 8
Bluedaishi for schleife um Dateien wieder zusammen zu fügen Java Basics - Anfänger-Themen 11
I SHA512 verschlüsseln und dann wieder auslesen? Java Basics - Anfänger-Themen 35
F Timer abbrechen und wieder starten Java Basics - Anfänger-Themen 5
J KeyListener - mal wieder... Java Basics - Anfänger-Themen 2
B Listener beim Laden (deserialize) wieder hinzufügen bzw. mitspeichern? Java Basics - Anfänger-Themen 3
GadgetSofa .txt Datei erstellen und gleich wieder Löschen? Java Basics - Anfänger-Themen 12
D Bild für ein paar Sekunden einblenden und wieder ausblenden Java Basics - Anfänger-Themen 1
M Tabelle aktualisieren (mal wieder) Java Basics - Anfänger-Themen 10
M Erste Schritte Tabelle aktualisieren (mal wieder) Java Basics - Anfänger-Themen 7
M Zahlen als Bytes in eine Datei speichern, daraus wieder auslesen Java Basics - Anfänger-Themen 2
D Schon wieder double -.- Java Basics - Anfänger-Themen 4
R Switch: Nach durchlaufen des Case wieder zum Menü Java Basics - Anfänger-Themen 3
K For Each Schleife wieder von Beginn an iterieren Java Basics - Anfänger-Themen 12
L Und schon wieder :=( Java Basics - Anfänger-Themen 3
T Arbeitsspeicher wieder freigeben Java Basics - Anfänger-Themen 21
Ernesto95 BufferedImage Teilbereich wieder transparent setzen Java Basics - Anfänger-Themen 16
J Schon wieder Rekursionsproblem Java Basics - Anfänger-Themen 3
S Erste Schritte Hochgescrolltes Menu nach MouseOut wieder "runter holen" Java Basics - Anfänger-Themen 3
H Datei in kleine Stücke teilen und wieder erkennen Java Basics - Anfänger-Themen 10

Ähnliche Java Themen

Neue Themen


Oben