Mehrere JPanel nacheinander?!

mavinatic

Bekanntes Mitglied
Hallo Community,

meine GUI besteht aus mehreren Schritten.
Als erstes muss man sich einloggen danach kommt ein AuswahlBildschirm mit verschiedenen Comboboxen und dann ein Spielfeld.

Gibt es für diesen "workflow" ein bestimmtes Muster/Pattern? Oder wie löst ihr solche GUI-Probleme geschickt?

Gruß
 

mavinatic

Bekanntes Mitglied
Ich glaube ich habe mich nicht korrekt ausgedrückt :p ich meinte ich habe einzelne JPanels....welche komplett über das JFrame gezogen werden, es sind einzelne Seiten, welche Nacheinander abgearbeitet werden.

LoginPanel <JPANEL>
SelectionPanel <JPANEL>
GamePanel <JPANEL>

Alle 3 JPanel benötigen die komplette Fläche, des JFrame ;-)
 
C

Camino

Gast
Na ja, du hattest gefragt:
Oder wie löst ihr solche GUI-Probleme geschickt?

Das mit dem JDialog wäre so eine andere Lösungsmöglichkeit. Aber wenn du das in verschiedenen Panel hast, die du nacheinander anzeigen möchtest, dann kommst du wohl um das CardLayout nicht herum. Da kannst du dir deine Panel anzeigen lassen.
 

mavinatic

Bekanntes Mitglied
Hallo Community,

ich habe das Beispiel von der Oracle Seite ausgetestet, aber es hat einen ganz anderen Effekt als in meinem Programm.
Link zum SourceCode von Oracle

Mein SourceCode:

Java:
package com.mmo.client.gui;

import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;

import javax.swing.JButton;
import javax.swing.JPanel;

import com.mmo.client.data.Configuration;
import com.mmo.client.data.ConnectionHandler;
import com.mmo.client.graphics.GamePanel;

public class MainPanel extends JPanel implements ItemListener
{	
	private ConnectionHandler conHandler = new ConnectionHandler();
	private Configuration config = Configuration.getInstance();
			
	private JPanel cards = new JPanel();
	private LoginPanel loginPanel = new LoginPanel();
	private GamePanel gamePanel = null;
	
	public MainPanel()
	{
		this.conHandler.setAccountURL(config.getValue("connection.accountServiceUrl"));
		this.conHandler.setGameDataURL(config.getValue("connection.gameDataServiceUrl"));
		this.conHandler.setIp(config.getValue("connection.host"));
		this.conHandler.setPort(Integer.parseInt(config.getValue("connection.port")));
		
		this.gamePanel = new GamePanel(conHandler);
		this.setLayout(new BorderLayout());
		
		cards.add(loginPanel, LoginPanel.LOGINPANEL);
		cards.add(gamePanel, GamePanel.GAMEPANEL);
		
		JButton button = new JButton("HeelloWelt");
		button.addItemListener(this);
		this.add(button, BorderLayout.NORTH);
		this.add(cards, BorderLayout.CENTER);
	}
	
	public JPanel getCurrentPanel()
	{
		return null;
	}

	@Override
	public void itemStateChanged(ItemEvent arg0) 
	{
		System.out.println(arg0);
		CardLayout cl = (CardLayout) cards.getLayout();
		cl.show(cards,(String)arg0.getItem());
	}
	
	
}

Ich habe garnicht diesen Wechselnden Effekt?!
 

kartugo

Neues Mitglied
Hallo zusammen!

Da ich vor dem selben Problem stehe, häng ich mich hier rein.

Problemstellung:
das jPanel "startscreen" sollte beim Aufruf der Klasse MainFrame sofort angezeigt werden.
Dieses Panel wurde schon fertiggestellt und beinhaltet einen Butten "nextPanel".
Bei einem Klick auf diesen Button sollte das jPanel "nextPanel", welches auch schon vorhanden ist, angezeigt werde.

So, nun hab ich das Problem, dass das Panel "startscreen" gar nicht angezeigt wird.

Java:
public class MainFrame extends JFrame implements ActionListener {
    CardLayout cl;
    private JPanel cardPanel =  null;
    private JPanel startscreen1 = null;
    private JPanel nextPanel1 = null;


    public MainFrame(){

        setDefaultCloseOperation(EXIT_ON_CLOSE);
        setMinimumSize(new Dimension(700, 700));
        setAlwaysOnTop(true);
        initComponents();
        setVisible(true);
    }

    public final void initComponents(){


        Container contentPane = getContentPane();
        contentPane.setLayout(null);

        cardPanel = new JPanel(new CardLayout());
        startscreen1 = new startscreen();
        nextPanel1 = new nextPanel();
        getContentPane().add(startscreen1,"startscreen");

        startscreen.jButton2.addActionListener(this);
        pack();
    }

    @Override
    public void actionPerformed(ActionEvent evt) {
        Object source = evt.getSource();
        cl = (CardLayout)cardPanel.getLayout();

        if(source == startscreen.jButton2){
            System.out.println("OK");
            cl.show(cardPanel, "nextPanel");
        }
    }

    public static void main(String[] args) {
        new MainFrame();
    }
}
 

jgh

Top Contributor
du musst die "Karten" natürlich der Komponente adden, die auch das CardLayout hat.

So sollte es funktionieren...:

Java:
public final void initComponents() {

		cardPanel = new JPanel(new CardLayout());
		startscreen1 = new startscreen();
		nextPanel1 = new nextPanel();
		cardPanel.add(startscreen1, "startscreen");
		cardPanel.add(nextPanel1, "nextPanel");
		add(cardPanel, BorderLayout.CENTER);
		startscreen.jButton2.addActionListener(this);
		pack();
	}

	@Override
	public void actionPerformed(ActionEvent evt) {
		Object source = evt.getSource();
		cl = (CardLayout) cardPanel.getLayout();

		if (source == startscreen.jButton2) {
			System.out.println("OK");
			cl.show(cardPanel, "nextPanel");
		}
	}
 

kartugo

Neues Mitglied
danke für die schnelle Antwort!

Habe die Komponenten der Karte hinzugefügt, es wird mir aber des Panel "startscreen" noch nicht sofort angezeigt, es öffnet sich nur das leere Frame.

Edit:
Habe den Container auskommentiert, nun läufts
Java:
Container contentPane = getContentPane();
contentPane.setLayout(null);
 
Zuletzt bearbeitet:
Ähnliche Java Themen
  Titel Forum Antworten Datum
P Swing Mehrere JLabels mit ImageIcon in JPanel lesen AWT, Swing, JavaFX & SWT 1
M Mehrere Jpanel in einem JScrollPane (Layout) AWT, Swing, JavaFX & SWT 2
elischa JFrame über mehrere JPanel und Listener AWT, Swing, JavaFX & SWT 17
X Swing JPanel mehrere Ebenen zeichnen AWT, Swing, JavaFX & SWT 13
G mehrere JPanel in ein (vertikales) JScrollPane AWT, Swing, JavaFX & SWT 8
D Wie mehrere Grafiken auf JPanel anzeigen lassen? (Observer pattern?) AWT, Swing, JavaFX & SWT 24
R Swing JPanel enthält mehrere JPanels - Positionsvergabe AWT, Swing, JavaFX & SWT 4
N Mehrere JTextArea in einem JPanel und eine JScrollPane AWT, Swing, JavaFX & SWT 3
S JFrame-Klasse soll ein/mehrere Objekte einer JPanel-Klasse-& AWT, Swing, JavaFX & SWT 3
T Swing Mehrere Ausgaben in JTextArea AWT, Swing, JavaFX & SWT 2
H Mehrere Panels auf JFrame AWT, Swing, JavaFX & SWT 8
S Mehrere Tabellen Zellen gleichzeitig färben AWT, Swing, JavaFX & SWT 5
Apfelbaum2005 Swing JFrame mehrere JPanels mit unterschiedlichen Formen hinzufügen AWT, Swing, JavaFX & SWT 1
K JavaFX unterschiedliche (mehrere Fenster) in seperater Main Methode AWT, Swing, JavaFX & SWT 26
I Scene Builder - mehrere Seiten AWT, Swing, JavaFX & SWT 6
schoel27 Mehrere JButtons sollen das gleiche Event auslösen AWT, Swing, JavaFX & SWT 2
Z GUI Forms - Mehrere Fenster in einem Projekt AWT, Swing, JavaFX & SWT 18
M mehrere jTextField untereinander AWT, Swing, JavaFX & SWT 1
N Bilder auf Button einfügen und mehrmals ändern (ein Button, mehrere ActionListener) AWT, Swing, JavaFX & SWT 2
B Swing Sudoku: Laden / Speichern von Zahlen aus/in mehrere JTextFields aus/in eine(r) Textdatei AWT, Swing, JavaFX & SWT 9
M JavaFX JavaFX in mehrere Controller AWT, Swing, JavaFX & SWT 21
R mehrere buttons mit forschleife kreieren und individuell bearbeiten AWT, Swing, JavaFX & SWT 1
N JavaFX 1 Listener für mehrere ChoiceBoxen AWT, Swing, JavaFX & SWT 3
N Textdatei GUI, Text in Textarea anzeigen mehrere Zeilen AWT, Swing, JavaFX & SWT 1
temi JavaFX Mehrere Views mit Stage.setScene() oder mit Scene.setRoot()? AWT, Swing, JavaFX & SWT 7
P Swing Mehrere JPanels auf ein JFrame hinzufügen? AWT, Swing, JavaFX & SWT 2
T Swing Tetraeder - mehrere Punkte verbinden? - Ansätze gesucht AWT, Swing, JavaFX & SWT 2
K JavaFX in mehrere Controller aufteilen AWT, Swing, JavaFX & SWT 29
K JavaFX in mehrere Controller aufteilen AWT, Swing, JavaFX & SWT 0
stroggi Swing Mehrere transparentes Objekte (Grafiken) über einem Bild (JLabel) darstellen AWT, Swing, JavaFX & SWT 4
K Mehrere Linien zeichnen AWT, Swing, JavaFX & SWT 8
J JavaFX - mehrere Views, Model durchreichen AWT, Swing, JavaFX & SWT 10
it_is_all Swing Mehrere JComboBoxen - wie die versch. Boxen mit ItemStateChange auslesen? AWT, Swing, JavaFX & SWT 3
M Swing Mehrere Textfelder mit ScrollBars - Größe der Felder AWT, Swing, JavaFX & SWT 0
W JavaFX Mehrere Klassen in ein TableView AWT, Swing, JavaFX & SWT 6
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
D Java FXML mehrere Fenster AWT, Swing, JavaFX & SWT 4
F JavaFX Mehrere Stages "managen" AWT, Swing, JavaFX & SWT 2
r4w Changelistener auf mehrere Textfelder AWT, Swing, JavaFX & SWT 5
H Swing + Paint: Mehrere Objekte zeichnen lassen AWT, Swing, JavaFX & SWT 3
S Swing Mehrere Modal-Dialoge übereinander AWT, Swing, JavaFX & SWT 5
T 2D-Grafik JFreeChart mehrere Y-Achsen AWT, Swing, JavaFX & SWT 2
C JavaFX mehrere Kreise nach Eingabeprozess ausgeben AWT, Swing, JavaFX & SWT 2
Thallius Swing Mehrere tausend "Panels" erstellen AWT, Swing, JavaFX & SWT 3
C Java FX Warnmeldung: Mehrere Fonts gehören derselben Familie und Stil AWT, Swing, JavaFX & SWT 2
J Mehrere JInternalFrame; GetValues AWT, Swing, JavaFX & SWT 1
JG12111989 mehrere Polyline-Objekte zeichnen AWT, Swing, JavaFX & SWT 3
LexeB4F JTable mehrere Zelle selektieren und inhalte Löschen.. Ideen gesucht AWT, Swing, JavaFX & SWT 1
V Tastatur KeyListener für mehrere Buttons AWT, Swing, JavaFX & SWT 1
K JavaFX Mehrere Cell Editors in einem TreeView Item AWT, Swing, JavaFX & SWT 2
KaffeeFan mehrere JTextField durchlaufen AWT, Swing, JavaFX & SWT 4
J Java -8 Action Listener für mehrere Buttons AWT, Swing, JavaFX & SWT 9
T Dynamisch mehrere Checkboxen anlegen AWT, Swing, JavaFX & SWT 2
G JavaFX Menü und mehrere Scenes AWT, Swing, JavaFX & SWT 16
R Swing Mehrere JTextFields mit einem Document Listener AWT, Swing, JavaFX & SWT 2
D Mehrere RadiButtons auswählar AWT, Swing, JavaFX & SWT 3
P Swing JTable mehrere Zeilen markieren AWT, Swing, JavaFX & SWT 1
T JavaFX FXMLController für mehrere FXML? AWT, Swing, JavaFX & SWT 7
G mehrere Action-Abfolgen erfassen AWT, Swing, JavaFX & SWT 6
J Mehrere Hyperlinks "stilvoll" darstellen. AWT, Swing, JavaFX & SWT 1
G Mehrere Strings um Kreis zeichnen und positionieren AWT, Swing, JavaFX & SWT 0
S JavaFX Mehrere TreeTableView's synchron scrollen AWT, Swing, JavaFX & SWT 0
U Mehrere Oberflächeninstanzen seperat schließen AWT, Swing, JavaFX & SWT 5
J Rahmen um mehrere GUI Einzelteile AWT, Swing, JavaFX & SWT 2
S Layouts, mehrere Buttons nebeneinander AWT, Swing, JavaFX & SWT 2
M Mehrere Fenster innerhalb einer Application AWT, Swing, JavaFX & SWT 3
T Über mehrere Panel zeichnen AWT, Swing, JavaFX & SWT 2
M ActionListener für mehrere Klassen AWT, Swing, JavaFX & SWT 4
T [LWJGL] mehrere Displays? AWT, Swing, JavaFX & SWT 19
SexyPenny90 Mehrere Fenster AWT, Swing, JavaFX & SWT 2
M Handling 1 Fenster mehrere Panels AWT, Swing, JavaFX & SWT 2
Y Mehrere JSlider verlinken AWT, Swing, JavaFX & SWT 6
Java-Insel LayoutManager Ein GridBagLayout-Objekt für mehrere Panels? AWT, Swing, JavaFX & SWT 2
O Swing JLabel mehrere Zeilen AWT, Swing, JavaFX & SWT 2
P mehrere Rectangles per JButton AWT, Swing, JavaFX & SWT 9
B JToolBar dynamisch auf mehrere Zeilen erweitern AWT, Swing, JavaFX & SWT 2
Jats Zeichen auf mehrere JPanels AWT, Swing, JavaFX & SWT 7
G Mehrere Probleme mit Java's GUI AWT, Swing, JavaFX & SWT 6
G Mehrere Layoutprobleme AWT, Swing, JavaFX & SWT 2
Kenan89 JTable mehrere ListSelections AWT, Swing, JavaFX & SWT 2
M TextArea über mehrere Zeilen - wie Zeileanzahl abfragen? AWT, Swing, JavaFX & SWT 5
J Swing JDialog blokiert mehrere JFrames - soll aber nur den aufrufenden blockieren AWT, Swing, JavaFX & SWT 4
A mehrere Zeilen in GUi ausgeben AWT, Swing, JavaFX & SWT 2
N Mehrere Tasks nacheinander ausführen AWT, Swing, JavaFX & SWT 7
C SWT Mehrere Bilder in GUI laden AWT, Swing, JavaFX & SWT 5
propra Mehrere Objekte gleichzeitig verschieben AWT, Swing, JavaFX & SWT 7
M 2D-Grafik Mehrere Linien (nacheinander) übereinander Zeichnen AWT, Swing, JavaFX & SWT 6
Furtano AWT mehrere Bilder in einen Frame zeichnen + Layout Manager AWT, Swing, JavaFX & SWT 10
K SWT Mehrere Einträge ins Clipboard legen AWT, Swing, JavaFX & SWT 2
C Swing Ein JFrame mehrere Ansichten AWT, Swing, JavaFX & SWT 8
C Swing Mehrere JSlider sollen aufeinander reagieren AWT, Swing, JavaFX & SWT 4
GUI-Programmer JFilechooser, mehrere Datein selektieren und Reihenfolge (2) AWT, Swing, JavaFX & SWT 8
S Mehrere JLists - Wie kennzeichnen? AWT, Swing, JavaFX & SWT 2
S Swing MVC Ein JFrame, mehrere JPanels AWT, Swing, JavaFX & SWT 6
J Mehrere JRadioButtons, aber nur 1 darf ausgewählt sein AWT, Swing, JavaFX & SWT 4
L Swing Mehrere Button die selbe Größe AWT, Swing, JavaFX & SWT 4
B AWT mehrere Fenster schließen AWT, Swing, JavaFX & SWT 8
I Wie mehrere JComboBoxen in Abhängigkeit einer anderen Box ändern? AWT, Swing, JavaFX & SWT 8
F Swing Mehrere Textfelder in Scrollpane einfügen und dann zum Scrollen bringen? AWT, Swing, JavaFX & SWT 4

Ähnliche Java Themen

Neue Themen


Oben