Java FX Layouts übereinander statt nebeneinander

mugsawaay

Aktives Mitglied
Hallo,
ich habe 2 identisch grosse "Views" auf AnchorPanes, bestückt mit Label, Buttons, choiceBoxes, etc.
Diese werden nach dem Programmstart auf einer "BasisPane" nebeneinander gesetzt.
Das funktioniert auch alles wie es soll.
Die beiden "Views" möchte ich nun übereinander anstatt nebeneinander legen, sodass immer nur eine View sichtbar ist.
Sämtliche Daten sollen aber erhalten bleiben. Einen Button auf der "BasisPane" soll zwischen den Views switchen.
Ich hatte mal mit einer StackPane ein wenig gespielt, aber so richtig weiter bin ich da nicht gekommen.
Vielleicht hat ja jemand schon so etwas mal gemacht
Danke gü
 

thet1983

Top Contributor
Verwende als BasisPane ein BorderPane und adde immer nur die Center.

Hier ein etwas schmutziges Beispiel mit einem ToggleButton.
( wirklich nur schnell schnell geschrieben!! )
Java:
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.ToggleButton;
import javafx.scene.layout.BorderPane;
import javafx.stage.Stage;


public class Main extends Application {
  
    public BorderPane pane1, pane2;
    public ToggleButton btnSwitch;
    private BorderPane root;
  
    @Override
    public void start(Stage primaryStage) {
        try {
            pane1 = new BorderPane(new Label("Das ist die ERSTE Maske"));
            pane2 = new BorderPane(new Label("..und das die ZWEITE"));
          
            btnSwitch = new ToggleButton("zu pane2 wechseln");
            btnSwitch.selectedProperty().addListener(new ChangeListener<Boolean>() {
                @Override
                public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
                    boolean stateSeleceted = newValue;
                    if(stateSeleceted){
                        root.setCenter(pane2);
                        btnSwitch.setText("zu pane1 wechseln");
                    }else{
                        root.setCenter(pane1);
                        btnSwitch.setText("zu pane2 wechseln");
                    }
                }
              
            });
          
            root = new BorderPane();
            root.setCenter(pane1);
            root.setTop(btnSwitch);
            Scene scene = new Scene(root,400,400);
            primaryStage.setScene(scene);
            primaryStage.show();
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
  
    public static void main(String[] args) {
        launch(args);
    }
}
 

dzim

Top Contributor
Ich verwende ebendfalls am liebsten entweder BorderPane oder StackPane als Root. Und wenn der innere Teil dynamisch sein soll, wie @thet1983 es beschreibt, verändere ich den Center eines BorderPane.

Um sinnvoll mit StackPanes arbeiten zu können ist es meist sinnvoll, a) die nicht anzuzeigende UI #setVisible(false) und #setManaged(false) zu setzen und mit #toFront() das anzuzeigende Layout "nach vorne" zu holen.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
D Welche Layouts anwenden? AWT, Swing, JavaFX & SWT 2
N Layouts AWT, Swing, JavaFX & SWT 2
D Zwischen Null-Layouts wechseln AWT, Swing, JavaFX & SWT 2
T JavaFX Flexible Layouts dynamisch erstellen / Design-Inspirationen AWT, Swing, JavaFX & SWT 8
K JavaFX Erzeugen dynamischer Layouts in fxml AWT, Swing, JavaFX & SWT 3
R GUI Layouts AWT, Swing, JavaFX & SWT 6
F Swing Anpassen des Layouts AWT, Swing, JavaFX & SWT 3
U LayoutManager Probleme mit Layouts AWT, Swing, JavaFX & SWT 5
G Swing Buttons in Layouts frei platzieren AWT, Swing, JavaFX & SWT 7
S Layouts, mehrere Buttons nebeneinander AWT, Swing, JavaFX & SWT 2
J LayoutManager Hilfe bei Wahl des Layouts AWT, Swing, JavaFX & SWT 9
R Wie Vorgehen bei fundamentaler Veränderung des Layouts während des Programmablaufs? AWT, Swing, JavaFX & SWT 19
B Layouts mit if-Abfrage ueberpruefen AWT, Swing, JavaFX & SWT 9
JStickman Layouts bei SWT AWT, Swing, JavaFX & SWT 6
M Verschiedene Layouts anzeigen AWT, Swing, JavaFX & SWT 5
hdi Probleme mit Layouts AWT, Swing, JavaFX & SWT 12
S Layouts AWT, Swing, JavaFX & SWT 5
K 2 Panels und Layouts AWT, Swing, JavaFX & SWT 2
S Verschachtelte Layouts AWT, Swing, JavaFX & SWT 4
P Frage zu Layouts AWT, Swing, JavaFX & SWT 4
CptK JPanels übereinander legen AWT, Swing, JavaFX & SWT 6
M Zwei JPanel übereinander nur vorderes "repainten" AWT, Swing, JavaFX & SWT 3
S Swing Mehrere Modal-Dialoge übereinander AWT, Swing, JavaFX & SWT 5
C LayoutManager Bei verkleinern des Fensters, verschieben sich JPanels übereinander. AWT, Swing, JavaFX & SWT 7
F Swing JPanels übereinander ohne Mananger AWT, Swing, JavaFX & SWT 1
M Komponenten übereinander AWT, Swing, JavaFX & SWT 7
N Komponenten übereinander AWT, Swing, JavaFX & SWT 3
T Prüfen ob 2 JLabel übereinander liegen. Performance Problem. AWT, Swing, JavaFX & SWT 5
S 2 Canvas übereinander AWT, Swing, JavaFX & SWT 2
J Swing Componenten übereinander platzieren. AWT, Swing, JavaFX & SWT 17
M 2D-Grafik Mehrere Linien (nacheinander) übereinander Zeichnen AWT, Swing, JavaFX & SWT 6
M Swing JPanel lagern übereinander AWT, Swing, JavaFX & SWT 14
C Swing JPanel übereinander legen AWT, Swing, JavaFX & SWT 4
C Zwei Bilder übereinander legen AWT, Swing, JavaFX & SWT 1
S Graphics2D: Transparent übereinander zeichnen AWT, Swing, JavaFX & SWT 7
M Komponenten übereinander prüfen AWT, Swing, JavaFX & SWT 3
J LayoutManager Panels übereinander AWT, Swing, JavaFX & SWT 3
D Texte zeichenweise übereinander darstellen, gemeinsam umbrechen AWT, Swing, JavaFX & SWT 5
I 2 Panels übereinander, 1 transparent AWT, Swing, JavaFX & SWT 2
S mehere panels übereinander AWT, Swing, JavaFX & SWT 2
M JProgressBar übereinander legen? AWT, Swing, JavaFX & SWT 3
Y Mehrere Komponenten übereinander ohne Swing AWT, Swing, JavaFX & SWT 2
B Komponenten übereinander platzieren AWT, Swing, JavaFX & SWT 2
S Labels und Button übereinander --> Reihenfolge? AWT, Swing, JavaFX & SWT 4
F JPanel übereinander zeichnen AWT, Swing, JavaFX & SWT 4
W Bilder übereinander legen AWT, Swing, JavaFX & SWT 1
N Mehrere JComponents übereinander AWT, Swing, JavaFX & SWT 3
H Komponenten übereinander anordnen, I/O-Konsole AWT, Swing, JavaFX & SWT 3
E Panels übereinander darstellen AWT, Swing, JavaFX & SWT 2
D 2 Komponenten übereinander AWT, Swing, JavaFX & SWT 2
S Komponenten übereinander anordnen? AWT, Swing, JavaFX & SWT 5
P JLabels übereinander legen AWT, Swing, JavaFX & SWT 8
M JTabbedPane zeigt alle Panels übereinander an :( AWT, Swing, JavaFX & SWT 8
_user_q Kann man ein 2. JavaFX-Fenster auch beenden (exit) statt schließen (close) lassen? AWT, Swing, JavaFX & SWT 8
U Gibt es eine Möglichkeit statt concatenate einen anderen Befehl zu nutzen? AWT, Swing, JavaFX & SWT 9
J Overlay Panel statt neues Fenster AWT, Swing, JavaFX & SWT 6
S BoxLayout: Anordnung der Komponenten links statt zentriert AWT, Swing, JavaFX & SWT 0
M JDialog statt JFrame AWT, Swing, JavaFX & SWT 22
T Swing Drag and Drop - JLabels tauschen statt überschreiben AWT, Swing, JavaFX & SWT 11
J Swing GridBagLayout: Links-nach-rechts Orientierung statt zentriert AWT, Swing, JavaFX & SWT 12
C JCheckBox Kreuz statt Haken AWT, Swing, JavaFX & SWT 7
C Swing Labeltext am Anfang statt am Ende kürzen AWT, Swing, JavaFX & SWT 6
N JTable RadioButton statt Checkbox AWT, Swing, JavaFX & SWT 4
C JTextPane <br oder <p> statt \n AWT, Swing, JavaFX & SWT 2
P [SWT] Background-Image skalieren statt kacheln AWT, Swing, JavaFX & SWT 2
0 JTable - Hintergrund Tabellen statt Grau AWT, Swing, JavaFX & SWT 5
J *** statt Text AWT, Swing, JavaFX & SWT 2
R Double in der Tabelle statt String und Integer AWT, Swing, JavaFX & SWT 3
P Warum Swing statt Awt? AWT, Swing, JavaFX & SWT 4
G Bei JScrollpane statt Scrollbar eine Vorschau verwenden AWT, Swing, JavaFX & SWT 3
N schwarz statt bild AWT, Swing, JavaFX & SWT 5
A Drucker Auswahlmaske statt auf dem Standarddrucker zudrucken AWT, Swing, JavaFX & SWT 4
R JTextFields mit Return statt Tab anwählen AWT, Swing, JavaFX & SWT 4
N JFileChooser wechselt Farbe (grün statt blau) AWT, Swing, JavaFX & SWT 3

Ähnliche Java Themen

Neue Themen


Oben