Von einem Fenster zum nächsten verlinken

Status
Nicht offen für weitere Antworten.
F

Fireblade87

Gast
Hallo,
ich habe eine Programmieraufgabe bekommen die sehr umfangreich ist!
Es handelt sich darum das über eine Datenbank, Bestellungen eingegeben, ausgegeben, angezeigt und gelöscht werden können, jedoch bin ich da bei langen noch nicht und könnte da später er drauf zurück kommen.

Ich habe nun so angefangen, das ich ein Fenster gemacht habe, wo man Eingeben, Anzeigen etc auswählen kann und habe auch schon das Fenster mit Eingeben angefangen, jedoch bekomme ich da die einzelnen Elemente nicht angeordnet, obwohl ich sie mit .setLayout(int x , int y) versucht hab festzulegen, bewegt sich leider gar nichts.
Nun mein eigentliches Problem. Sobald ich auf Run klicke, öffnen sich das Fenster zur Auswahl des Modus und gleichzeitig nun auch das Eingebefenster ( Anzeigen etc habe ich noch leider gar nichts angefangen aber die müssten genauso funktionieren dann)
Ich wollte es nun so machen, das wenn man auf Eingeben klickt und dann auf OK, das dann z.B. erst das Eingabefenster sichtbar wird aber das Eingabemodusfenster verschwinden muss oder gibt es dort eine einfacherer Lösung?
Wäre sehr nett wenn mir dort jemand weiterhelfen könnte, dass ich schonmal etwas weiter komme ;)
 

Tobias

Top Contributor
Eingabemodus und Eingabefenster in einem Fenster mit CardLayout als LayoutManager (findest du in der API).

mpG
Tobias
 
F

Fireblade87

Gast
Nein, die sollen nicht in einem Fenster sein, erst wenn ich Eingabemodus anklicke im Modusauswahlfenster, soll das Eingabefenster sichtbar werden
 

Tobias

Top Contributor
Ja, das CardLayout bietet dir deshalb die Möglichkeit, mehrere Panels (mit entsprechenden Eingabefeldern) wie in einem Kartenstapel übereinander vorzuhalten. Du zeigst erst nur die Karte "Eingabemodus" und erst wenn da auf "Eingeben" geklickt wurde zeigst du im selben Fenster die Karte "Eingeben". "Eingabemodus" ist dann nicht mehr zu sehen, weil CardLayout immer nur die oberste Karte zeigt.

mpG
Tobias
 
F

Fireblade87

Gast
Das Problem wäre dann nur, das ich mein stundenlangprogrammiertes GridLayout in die Tonne schmeißen kann :D

Habe beim Bearbeitungsmodus Fenster eine JList mit (Anzeigen, Eingeben) etc gemacht und wollte nun mit einem Listener das so machen, das wenn Anzeigen ausgewählt wurde ( nur mit welchen Listener) und mit MouseListener dann zb auf OK geklickt wurde, dass dann abgefragt wird ob es Anzeigen ist und dann Eingabefesnter visible(true) und alle anderen false? Geht das auch? Und wenn ja, wie genau, weil mit ich das mit der Abfrage der Liste nicht hinbekomme, das er merkt was dort angeklickt wurde.
 

Tobias

Top Contributor
Nein, du packst dein "stundenlang programmiertes GridLayout" auf ein JPanel und addest es zum CardLayout.

mpG
Tobias
 
F

Fireblade87

Gast
Ich bin ein halber Anfänger, sowas behersche ich nicht, ich verstehe schon mal nicht was du mir damit sagen willst ;)
 
G

Gast

Gast
STRG + C
STRG + V ^^

Hab etz ned alles gelesen aba im Prinzip musst ja nur bei der Klasse statt extends irgendwas extends JPanel schreiben ;)
 

Tobias

Top Contributor
Also erst mal zum Prinzip:

Code:
public class EingabeModusPanel extends JPanel {

     private JList myList; // Hier speicherst du die Instanz deiner Auswahlliste.
     
     public EingabeModusPanel() {
          // Hier kommt dein GridLayout-Zeugs hin
     }

     public JList getList() {
          return myList
     }

}

public class EingabePanel extends JPanel {

     public EingabePanel() {
          // Hier kommt alles hin, was auf dem EingabePanel zu sehen sein soll.
     }

}

public class DialogTest extends JFrame implements ListSelectionListener {

     private JDialog d;

     public DialogTest() {
          super("DialogTest");
          setSize(200, 200);
          setDefaultClosingBehavior(JFrame.EXIT_ON_CLOSE);

          // Dialog zusammenbauen
          d = new JDialog();
          d.setLayout(new CardLayout());
          EingabeModusPanel emp = new EingabeModusPanel();
          emp.getList().addListSelectionListener(this); // Um auf Eingabeevents der Liste reagieren zu können
          d.add(emp, "modus");
          d.add(new EingabePanel(), "eingabe");

          setVisible(true);
          d.setVisible(true);
     }

     // Reagiert auf das Auswählen eines Items in der List.
     // Zeigt hier IMMER das Panel "eingabe", wenn irgendwas in der Liste gewählt wurde.
     public void valueChanged(ListSelectionEvent e) {
         if(e.getSelectedIndex() > -1) {
              ((CardLayout) d.getLayout()).show(d, "eingabe");
         }
     }

}

Ich hab den Code nicht getestet, aber im Prinzip sollte das so gehen.

mpG
Tobias
 
F

Fireblade87

Gast
Also ich habe es nun mit dem CardLayout und GridBagLayout alles soweit hinbekommen.

Ich habe einfach jeweils ein neues JPanel gemacht und diese in das JFrame damit nur ein Fenster angezeigt wird.
Nun wollte ich es jedoch so machen, das wenn ich in der CheckBox z.B. Eingeben anklicke und auf OK gehe, das er das er dann den Eingabemodus aufruft, also das JPanel mit Eingabemodus visible macht und das mit Bearbeitungsmodus nicht visible, jedoch kann ich leider nicht auf das Panel zugreifen -.-
Vielleicht hat jmd eine Idee dafür?

Code:
if(bm.EButton.isSelected() && e.getSource() instanceof JButton) {
				 bm.PanelBM.setVisible(false);
				 bm.PanelEM.setVisible(true);

Hier habe ich es soweit, dass ich in der CheckBox etwas anklicke und dann mit dem Button bestätige, jedoch funktioniert es dann nicht, das das neue Panel öffnet, da ich so wie ich es beschrieben habe nicht funktioniert.

Code:
	Container cp = getContentPane();
	   cp.setLayout(new CardLayout());		
		
		
	    JPanel PanelBM = new JPanel();
	    PanelBM.setLayout(new GridBagLayout());
	    cp.add(PanelBM, "Bearbeitungsmodus");
	    PanelBM.setVisible(true);

Hier habe ich das Panel angelegt. Dazu sei noch gesagt das der Listener wie oben erwähnt, sich in einer anderen Klasse befindet und nicht in der selben wie bei der Panel deklaration.
 

Tobias

Top Contributor
Umschalten zwischen den Panels geht mit

Code:
((CardLayout) meinContainer.getLayout()).show(meinContainer, "nameDesPanels");

mpG
Tobias
 
F

Fireblade87

Gast
Habe es so versucht wie du es gesagt hast, jedoch klappt es nicht ;)

Meine Container heißt cp
Meine JPanels, PanelBM und PanelEM.

Möchte wenn ich den Button klicke, der sich im PanelBM befindet, ja ins PanelEM wechseln und habe es folgendermaßen versucht:

Code:
((CardLayout)cp.getLayout()).show(cp, "PanelEM");

Jedoch funktioniert es so nicht, da er irgendwie cp nicht kennt und unterstreicht?
 

Tobias

Top Contributor
Dann hast du die Variable cp nicht in dem Block deklariert, in dem du obige Zeile stehen hast. Um genauere Hilfe geben zu können, brauche ich mehr Code.

mpG
Tobias
 
F

Fireblade87

Gast
Ich habe den Container cp auch nicht in der Klasse.
Habe 2 Klassen, eine um Modus auszuwählen und eine für den nächsten Modus. Jeweils haben die Klassen auch ein eigenen Container ! Und wenn ich jeweils in den Container das jeweilige Panel true oder false schalte, kann ich wechseln zwischen den beiden Panels. Jedoch habe ich für das EventHandling nun wieder eine neue Klasse gemacht, kann aber auf die Elemente der anderen beide Klassen zugreifen. Nur komme ich weder auf cp noch auf das Panel -.-
 

Tobias

Top Contributor
Ich werde aus dieser Erklärung nicht schlau. Irgendwo mußt du doch eine Variable "cp" angelegt haben, die den Container mit dem CardLayout referenziert ... Guck dir nochmal das Beispiel an, das ich einige Beiträge weiter oben gepostet habe.

mpG
Tobias
 

Fireblade87

Mitglied
PN angekommen?
Ja cp ist referenziert in einer anderen Klasse!
Und in der Klasse die das EventHandling abfängt, ist kein Container refereziert, sodass auf den Container mit dem CardLayout zugegriffen werden muss, was nicht klappt!

Als Fehlermeldung kommt immer:
Cannot cast from BorderLayout to CardLayout.

Leider bekomme ich den Fehler nicht beseitigt -.-
 

Tobias

Top Contributor
PN angekommen und beantwortet (zur Erklärung: Es geht um eine Hausübung o. ä. und Fireblade möchte seinen Code lieber nicht veröffentlichen).
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
W 2 JTables in einem Swing-Fenster? AWT, Swing, JavaFX & SWT 5
J JavaFx PDF in einem Element in einem Fenster anzeigen. AWT, Swing, JavaFX & SWT 11
Z GUI Forms - Mehrere Fenster in einem Projekt AWT, Swing, JavaFX & SWT 18
J Fenster mit Inhalten aus einem Array Füllen AWT, Swing, JavaFX & SWT 4
I JavaFX Fenster wird auf einem anderen Rechner anders dargestellt AWT, Swing, JavaFX & SWT 5
V Fenster in einem Fenster anordnen AWT, Swing, JavaFX & SWT 7
E Alles in einem Fenster AWT, Swing, JavaFX & SWT 5
W Windows Fenster in einem Programm AWT, Swing, JavaFX & SWT 2
M Von einem Fenster zum anderen AWT, Swing, JavaFX & SWT 12
B Ladebalken in einem Popup-Fenster AWT, Swing, JavaFX & SWT 6
C ImageIcon eines Labels auf einem Panel in neuem Fenster anzeigen AWT, Swing, JavaFX & SWT 2
C Swing Drag and Drop mit Objekten in einem Fenster. AWT, Swing, JavaFX & SWT 9
P In einem Java-Fenster zeichnen AWT, Swing, JavaFX & SWT 10
M Swing Methode in einem Fenster aus einem anderen Fenster aufrufen AWT, Swing, JavaFX & SWT 4
A Mehrere JTables in einem Fenster AWT, Swing, JavaFX & SWT 8
B komplettes programm in einem fenster AWT, Swing, JavaFX & SWT 5
C Programm mit einem Fenster für Einstellungen AWT, Swing, JavaFX & SWT 3
A Probleme mit einem Kind-Fenster AWT, Swing, JavaFX & SWT 7
M Wert von einem Fenster zum anderen übergeben AWT, Swing, JavaFX & SWT 3
C 2 Jlabel in einem Fenster AWT, Swing, JavaFX & SWT 5
P mehrere Fenster oeffnen mit einem button AWT, Swing, JavaFX & SWT 2
G Anzeigen einer Textdatei in einem Fenster AWT, Swing, JavaFX & SWT 6
Juelin Zugriff auf Bildschirmobjekte aus einem anderen Programm AWT, Swing, JavaFX & SWT 6
M Seltsame Exception bei setVisible(true) Methode in einem JFrame AWT, Swing, JavaFX & SWT 2
MartinNeuerlich Kann mir jemand, der einen Mac mit einem m1 oder m2-Chip hat, eine POM geben mit der Javafx-Fullscreen beim Mac mit m-Chip funktioniert? AWT, Swing, JavaFX & SWT 1
Mojo7310 Ändern von Text in JLabel mit einem Button AWT, Swing, JavaFX & SWT 11
I JTable mit einem Button zu einer Detail Seite springen AWT, Swing, JavaFX & SWT 4
S Swing zu einem Datum Tage addieren/subtrahieren AWT, Swing, JavaFX & SWT 6
E Swing Mausposition auf einem JFrame erkennen AWT, Swing, JavaFX & SWT 5
Jose05 NullPointerException bei Beschreiben eines Labels aus einem Array AWT, Swing, JavaFX & SWT 12
ExceptionOfExpectation Textdarstellung auf einem Canvas mit Hilfe von repaint(); AWT, Swing, JavaFX & SWT 6
2 JavaFX die ChoiceBox leitet den String nicht weiter oder es komm zu einem NullPointer AWT, Swing, JavaFX & SWT 8
L JavaFX javafx.fxml.LoadException bei einem Taschenrechner AWT, Swing, JavaFX & SWT 5
N Nur bei einem Textfiled Nullpointerexception bei getText() AWT, Swing, JavaFX & SWT 1
H JComobox in einem JPopupNeu AWT, Swing, JavaFX & SWT 7
P Button simpler random auf einem JPanel verteilen? AWT, Swing, JavaFX & SWT 3
W Inject bei einem Swing Frontend AWT, Swing, JavaFX & SWT 8
H Daten aus einer XML(x83-Datei) in einem JFrame anzeigen lassen AWT, Swing, JavaFX & SWT 9
Z Swing Drag and Drop mit einem JButton AWT, Swing, JavaFX & SWT 1
Z Mit einem Button einen anderen Button Triggern AWT, Swing, JavaFX & SWT 3
D AWT Wie kann ich ein Frame von einem anderen aus beeinflussen? AWT, Swing, JavaFX & SWT 7
T Setzen von der Schriftgröße bei einem Shell AWT, Swing, JavaFX & SWT 15
A checkbox in einer TableView abhängig von einem anderen Celleninhalt disablen AWT, Swing, JavaFX & SWT 1
D JavaFX Ein Parameter von einem Stage(GUI) zu einem anderen übergeben AWT, Swing, JavaFX & SWT 6
T Bilder bei einem JFrame einfügen AWT, Swing, JavaFX & SWT 4
S JavaFX Variablen in einem FXML File verwenden AWT, Swing, JavaFX & SWT 8
A Objekt von einem Window erstellen? AWT, Swing, JavaFX & SWT 8
Drachenbauer Swing Wie ändere ich die helle geklickt-Farbe von einem JButton? AWT, Swing, JavaFX & SWT 4
ralfb1105 JavaFX Alert Confirmation Dialog aus einem Service Thread AWT, Swing, JavaFX & SWT 8
F JavaFX Aktuelle Zeit in einem TextField anzeigen AWT, Swing, JavaFX & SWT 7
M JavaFX Bild zur ImageView in einem Kreis anzeigen. AWT, Swing, JavaFX & SWT 4
F JavaFX PNG aus einem resource Ordner laden AWT, Swing, JavaFX & SWT 8
F JavaFX Checken ob der Input einem festgelegten Format gleicht AWT, Swing, JavaFX & SWT 7
B JavaFX Bilder in einem Gewissen bereich halten AWT, Swing, JavaFX & SWT 1
cool_brivk24 BufferedImage einem ClickEvent hinzufügen AWT, Swing, JavaFX & SWT 13
Q-bert Doppelclick auf einem List item AWT, Swing, JavaFX & SWT 9
J JavaFX von einem Array aus Buttons herausfinden auf welcher geklickt wurde aus dem Array. AWT, Swing, JavaFX & SWT 1
C SWT autosize bei gc.drawString() auf einem Label AWT, Swing, JavaFX & SWT 7
R Farbe zu einem Eckpunkt generieren AWT, Swing, JavaFX & SWT 2
T Reihenfolge der Komponenten im einem JFrame AWT, Swing, JavaFX & SWT 8
F abgeleitete Panels von einem ContentPanel AWT, Swing, JavaFX & SWT 4
heinz ketchup While-Schleife in einem Service für GUI AWT, Swing, JavaFX & SWT 22
D zwei JLabel stapeln in einem JPanel AWT, Swing, JavaFX & SWT 5
H Hintergrundbild in einem Programm AWT, Swing, JavaFX & SWT 4
F RGB-Werte aus einem String einlesen AWT, Swing, JavaFX & SWT 26
stroggi Swing Mehrere transparentes Objekte (Grafiken) über einem Bild (JLabel) darstellen AWT, Swing, JavaFX & SWT 4
DaCrazyJavaExpert Swing Zwei gleichgroße Panels in einem Scrollpane mit Layout AWT, Swing, JavaFX & SWT 9
W Swing Hilfe beim Einbinden von Bildern in einem JFrame AWT, Swing, JavaFX & SWT 8
F AWT mehrere Panels in einem Frame AWT, Swing, JavaFX & SWT 17
L JavaFX Mehrere JavaFX Szenen mit einem Menü AWT, Swing, JavaFX & SWT 1
L JavaFX Klickverhalten bei einem Panel AWT, Swing, JavaFX & SWT 1
V JavaFX Button Controller Fehler, trotz Erfolg in einem anderem Code? AWT, Swing, JavaFX & SWT 7
Y Darstellung und MouseHover bei bestimmten Wörtern in einem String AWT, Swing, JavaFX & SWT 2
GreenTeaYT Wie vergebe Ich den Jframe Title den Namen aus einem Element von der Arraylist ? AWT, Swing, JavaFX & SWT 4
H Geld pro Sekunde in einem Clickerspiel AWT, Swing, JavaFX & SWT 4
Java_RY wie kann ich auf JButtons in einem JPanel zugreifen AWT, Swing, JavaFX & SWT 3
F Zeichnung einem JPanel im Layoutmanager zuweisen AWT, Swing, JavaFX & SWT 3
Ghostman1711 Hinzufügen ausgewählter Dateinen des Filechoosers zu einem JTable AWT, Swing, JavaFX & SWT 9
T AWT Farben in einem Bild ändern AWT, Swing, JavaFX & SWT 8
R Swing JLabel berührung an einem anderen Label prüfen AWT, Swing, JavaFX & SWT 3
M Text in einem Label fett setzen AWT, Swing, JavaFX & SWT 4
E Swing Copy und Paste eines einzelnen Knoten aus einem JTree AWT, Swing, JavaFX & SWT 1
7 JavaFX Problem beim Zeichnen eines Dreiecks in einem GUI AWT, Swing, JavaFX & SWT 6
K JavaFX Mehrere Cell Editors in einem TreeView Item AWT, Swing, JavaFX & SWT 2
F JavaFX JavaFX - Hintergrundmusik in einem seperatem Task/Service AWT, Swing, JavaFX & SWT 6
D JavaFX Gesetzte Variable in einem Controller im Controller laden AWT, Swing, JavaFX & SWT 1
D Swing JCombobox in einem JTable vorbelegen AWT, Swing, JavaFX & SWT 4
T Swing JTable Zeile mit ausgelesenen Werten mit Hilfe von einem Button hinzufügen AWT, Swing, JavaFX & SWT 1
E JavaFX MenuBar und ToolBar zu einem Bereich AWT, Swing, JavaFX & SWT 3
Y Kann man Buttons in einem JFrame rund machen ? AWT, Swing, JavaFX & SWT 2
D Timer für Bildfolge in einem jLabel AWT, Swing, JavaFX & SWT 5
C (JavaFX 8) SQLite Datenbank in einem TableView darstellen AWT, Swing, JavaFX & SWT 2
M JavaFX wie kann mann sein frame mit einem Icon fersehen? AWT, Swing, JavaFX & SWT 2
L 2D-Grafik Dreieck in einem Kreis??? AWT, Swing, JavaFX & SWT 1
F Swing Image einem Button hinzufügen AWT, Swing, JavaFX & SWT 5
J Swing unterschiedliche Inhalte in einem JFrame AWT, Swing, JavaFX & SWT 3
R Swing Mehrere JTextFields mit einem Document Listener AWT, Swing, JavaFX & SWT 2
T Swing Größe einer Komponente in einem BoxLayout / FlowLayout festlegen AWT, Swing, JavaFX & SWT 7
S Punkt finden der in einem Shape liegt..? AWT, Swing, JavaFX & SWT 11
A Swing Externe Klassen aufrufen und in einem bereits vorhandenen Container einfügen AWT, Swing, JavaFX & SWT 0

Ähnliche Java Themen

Neue Themen


Oben