Scene Builder - mehrere Seiten

internet

Top Contributor
Hallo,

ich habe mir gerade mal Java FX angeschaut und macht mir einen besseren Eindruck als Swing...
Ich bin gerade dabei hierbei auch den Scene Builder zu nutzen und würde gerne oben ein Menü haben und dann in der Mitte verschiedene Seiten:

Der grüne Teil soll die Seite sein, die dann je nachdem was in der Menübar gedrückt wurde sich ändert:
1657205695944.png

Nun ist meine Frage aber, wie ich die verschiedenen Seite im SceneBuilder erstelle?
Welche Komponente ist das?

Aktuell sieht meine Struktur so aus:
1657205734396.png

Kann jemand helfen?
 

mihe7

Top Contributor
Verschiedene Seiten? Meinst Du TabPane und Tab?

EDIT: Evtl. meinst Du das CardLayout von Swing? Es gibt in FX wohl eine StackPane, die allerdings etwas anders funktioniert. Andererseits brauchst Du das ggf. auch nicht, weil Du die Komponenten in FX einfach entfernen und hinzufügen kannst.
 

temi

Top Contributor
Das wäre vermutlich auch mein Ansatz. Diese "Seiten" wären dann eigene fxml mit eigenen Controllern.
Was demnach bedeutet, dass du jede "Seite" einzeln in SceneBuilder erstellst und daraus dann jeweils ein separate FXML-Datei erhältst.

Du kannst nicht in SceneBuilder deine komplette funktionierende Anwendung zusammenklicken, sondern immer nur die einzelnen "Seiten".

Am Ende hast du dann eine MainView (die das Menü enthält) und noch Seite1View, Seite2View, usw. (natürlich schöner benannt).

EDIT: Eine Möglichkeit, wäre die Seiten mittels fx:include einzubinden.

MainView
XML:
<VBox xmlns="http://javafx.com/javafx"
            xmlns:fx="http://javafx.com/fxml"
            prefHeight="400.0" prefWidth="600.0">
    <children>
        <Label fx:id="label" text="Label in MainView"/>
        <fx:include source="SubView.fxml"/>
    </children>
</VBox>

SubView
XML:
<AnchorPane xmlns="http://javafx.com/javafx"
            xmlns:fx="http://javafx.com/fxml"
            fx:controller="de.test.SubViewController"
            prefHeight="400.0" prefWidth="600.0">
    <children>
        <Label fx:id="label" text="Label in SubView"/>
    </children>
</AnchorPane>
 
Zuletzt bearbeitet:

internet

Top Contributor
ok, danke... Nein, ich meine keine Tabs, sondern richtige Seiten, ála editPage, overviewPage, dashboard....
Also erstelle ich für jede Seite eine .fxml - Datei.
Aber wie sieht es mit dem "Layout" aus?
Also quasi die Seite von meinem Eingangspost...

Der grüne Container ist dann quasi mein "Content", den ich dann mit der derzeit "aktiven" Seite, also einer fxml - Datei austauschen möchte...
Aber:
  • was für eine Komponente ist dann Content
  • wie ändere ich die View, sodass editPage, dashboardPage etc. angezeigt wird?
 

KonradN

Super-Moderator
Mitarbeiter
In der FXML Datei hast Du ja ein Element, mit dem alles startet. Und wenn Du mit dem FXMLLoader das FXML lädst, dann bekommst Du ja eine Referenz auf genau dieses Element.

Das kannst Du dann direkt bei Dir einfügen, also in einem Fall in einem Bereich Deiner BorderPane. Wenn Du es dann austauschen willst, dann entfernst Du das vorhandene Element und fügst das neu geladene/erstellte ein.
 

internet

Top Contributor
Das ist mein Code:

Java:
/**
 * JavaFX App
 */
public class App extends Application {

    private static Scene scene;

    @Override
    public void start(Stage stage) throws IOException {
        scene = new Scene(loadFXML("template"));
        scene.getStylesheets().add(getClass().getResource("styles.css").toExternalForm());
        stage.setScene(scene);
        stage.show();
    }

    static void setRoot(String fxml) throws IOException {
        scene.setRoot(loadFXML(fxml));
       
    }

    private static Parent loadFXML(String fxml) throws IOException {
        FXMLLoader fxmlLoader = new FXMLLoader(App.class.getResource(fxml + ".fxml"));
        return fxmlLoader.load();
    }
   
    public static void main(String[] args) {
        launch();
    }

}

Hier das template.fxml:
Code:
<VBox fillWidth="false" prefHeight="454.0" prefWidth="729.0" xmlns="http://javafx.com/javafx/18" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.dpunkt.myaktion.gui.controller.javafx.PrimaryController">
  <children>
      <BorderPane id="mainContainer" prefHeight="481.0" prefWidth="790.0">
         <top>
          <MenuBar id="menuBar" prefHeight="31.0" prefWidth="1045.0" BorderPane.alignment="CENTER">
            <menus>
              <Menu id="fileButton" mnemonicParsing="false" text="Allgemein">
                <items>
                  <MenuItem mnemonicParsing="false" onAction="#switchToSecondary" text="Dashboard" />
                  <MenuItem mnemonicParsing="false" text="Einstellungen" />
                  <SeparatorMenuItem mnemonicParsing="false" />
                  <MenuItem mnemonicParsing="false" text="Schließen" />
                </items>
              </Menu>
              <Menu mnemonicParsing="false" text="Galerien">
                <items>
                  <MenuItem mnemonicParsing="false" text="Neu anlegen" />
                  <MenuItem mnemonicParsing="false" text="Übersicht" />
                </items>
              </Menu>
                  <Menu mnemonicParsing="false" text="Logs" />
              <Menu mnemonicParsing="false" text="Info">
                <items>
                  <MenuItem mnemonicParsing="false" text="Version" />
                </items>
              </Menu>
            </menus>
          </MenuBar>
         </top>
         <center>
          <AnchorPane id="contentContainer" maxHeight="-1.0" maxWidth="-1.0" prefHeight="601.0" prefWidth="1108.0" BorderPane.alignment="CENTER">
               <children>
                  <AnchorPane prefHeight="429.0" prefWidth="1108.0" AnchorPane.bottomAnchor="0.0" AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0" AnchorPane.topAnchor="0.0">
                     <children>
                        <TableView minHeight="-Infinity" prefHeight="200.0" prefWidth="500.0">
                          <columns>
                            <TableColumn prefWidth="75.0" text="C1" />
                            <TableColumn prefWidth="-1.0" text="C2" />
                          </columns>
                        </TableView>
                     </children>
                  </AnchorPane>
               </children></AnchorPane>
         </center>
      </BorderPane>
  </children>
</VBox>

Frage wäre nun:
  • Ist AnchorPane richtig für den Content?
  • Wie switche ich / ersetze ich die View ?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
Maxim6394 JavaFX Scene Builder - Crash bei eigener Komponente AWT, Swing, JavaFX & SWT 2
N JavaFX Einfacher Taschenrechner mit Scene Builder und Java FX AWT, Swing, JavaFX & SWT 0
B Scene Builder Textfeld Begrenzen AWT, Swing, JavaFX & SWT 3
J JavaFX Schiffe versenken mit JavaFX und Scene builder AWT, Swing, JavaFX & SWT 3
D Verschieden Scenen ansprechen mit dem Scene Builder und JavaFX (Eclipse) AWT, Swing, JavaFX & SWT 16
izoards Scene Builder vs. reality..... AWT, Swing, JavaFX & SWT 8
H JavaFX JavaFX - Scene Builder - BorderPane AWT, Swing, JavaFX & SWT 23
S Scene Builder Fehlermeldung (Anfängerprobleme) AWT, Swing, JavaFX & SWT 0
S Scene Builder Fehlermeldung (Anfängerprobleme) AWT, Swing, JavaFX & SWT 8
R JavaFX Scene Builder Grundsätzliches AWT, Swing, JavaFX & SWT 6
S JavaFX Unterschiede zwischen Scene Builder 2.0 und der ausgeführten App AWT, Swing, JavaFX & SWT 17
B JavaFx Scene Builder Problem AWT, Swing, JavaFX & SWT 2
B JavaFX Grundlegende Verständnisfrage JavaFX<->Scene Builder AWT, Swing, JavaFX & SWT 12
D Gluon Scene Builder Custom AWT, Swing, JavaFX & SWT 0
L JavaFX GUI mit JavaFX. Scene Builder source code? AWT, Swing, JavaFX & SWT 6
n00b4u JavaFX Scene-Builder Ressourcengrab? AWT, Swing, JavaFX & SWT 0
I Scene Builder kann .fxml nicht mehr laden AWT, Swing, JavaFX & SWT 3
A Mit dem Scene Builder eine Collage erstellen (Bilder beziehen aus Flickr) AWT, Swing, JavaFX & SWT 1
B JavaFX Scene Builder: resize funktioniert (meist) nicht AWT, Swing, JavaFX & SWT 6
M JavaFX Wo finde ich den Scene Builder? AWT, Swing, JavaFX & SWT 3
A JavaFX Scene Builder eigene Klasse hinzufügen AWT, Swing, JavaFX & SWT 2
F JavaFX Scene Builder AWT, Swing, JavaFX & SWT 2
F JavaFX Scene Builder AWT, Swing, JavaFX & SWT 3
D JavaFX Scene Builder 2.0 einfügen einer CheckBoxListCell AWT, Swing, JavaFX & SWT 0
M JavaFX Fenstersteuerung in scene builder AWT, Swing, JavaFX & SWT 2
N JavaFX TreeTable Scene Builder AWT, Swing, JavaFX & SWT 8
F GUI Einstieg (Scene Builder) AWT, Swing, JavaFX & SWT 3
H JavaFx - Scene Builder 2.0 - Classpath AWT, Swing, JavaFX & SWT 2
A JavaFX Eigene Komponenten im Scene Builder AWT, Swing, JavaFX & SWT 0
Tippster JavaFX Scene neu berechnen lassen AWT, Swing, JavaFX & SWT 5
T Scene wechseln über ManuItem AWT, Swing, JavaFX & SWT 7
D Layout einer scene mit ListView Elementen und Zwei Textfeldern AWT, Swing, JavaFX & SWT 1
N setOnKeyPressed ohne Scene AWT, Swing, JavaFX & SWT 2
G JavaFX Scene ausdrucken nicht möglich, Seite leer AWT, Swing, JavaFX & SWT 5
W Nullpointer Exception beim übertragen von Daten von Scene zu Scene AWT, Swing, JavaFX & SWT 6
W Aufrufen einer bestimmten Scene mit if-Bedingung AWT, Swing, JavaFX & SWT 4
T Scene-Wechsel manchmal weiss AWT, Swing, JavaFX & SWT 3
temi JavaFX Mehrere Views mit Stage.setScene() oder mit Scene.setRoot()? AWT, Swing, JavaFX & SWT 7
S Kann javafx.scene.layout.VBoxBuilder nicht importieren AWT, Swing, JavaFX & SWT 3
L JavaFX AnchorPane an die Größe der Scene oder Window binden? AWT, Swing, JavaFX & SWT 3
M error: package javafx.scene.web is not visible import javafx.scene.web.*; AWT, Swing, JavaFX & SWT 16
karlmasutra JavaFX Zugriff auf eine erzeugte Scene aus einer anderen Klasse AWT, Swing, JavaFX & SWT 1
S JavaFX Scene öffnet sich nicht AWT, Swing, JavaFX & SWT 3
H JavaFX Probleme Beim Wechseln der scene als .fxml AWT, Swing, JavaFX & SWT 7
D Canvas oder scene graph? AWT, Swing, JavaFX & SWT 16
FRI3ND JavaFX: Wie kann ich einer Scene Argumente übergeben? AWT, Swing, JavaFX & SWT 14
R Größe von Scene und stage an grid anpassen AWT, Swing, JavaFX & SWT 4
I Zweite Scene aufrufen AWT, Swing, JavaFX & SWT 4
J Compiler in der JavaFX stop() Methode warten lassen bist eine Aktion in einer anderen Scene gemacht AWT, Swing, JavaFX & SWT 5
R Scene speichern AWT, Swing, JavaFX & SWT 7
I JavaFX-Scene-Überlagerung/Wechsel mit pausieren der anderen Scene AWT, Swing, JavaFX & SWT 0
L JavaFX leeres weißes Image - javafx.scene.image.Image AWT, Swing, JavaFX & SWT 2
O JavaFX Aktualisierung der Scene AWT, Swing, JavaFX & SWT 1
U JavaFX Wechsel der Scene nach betätigen eines Button AWT, Swing, JavaFX & SWT 2
I JAVAFX - Übergabe der Inhalte an eine Scene - Wo ist der Vorteil gegenüber Swing? AWT, Swing, JavaFX & SWT 2
J JavaFX Scene - Buttonklick abwarten AWT, Swing, JavaFX & SWT 4
D javafx.scene.control.TreeView als dropdown Menü AWT, Swing, JavaFX & SWT 6
M JavaFX Scene wird nicht angezeigt AWT, Swing, JavaFX & SWT 4
javampir Java FX Scene Management AWT, Swing, JavaFX & SWT 1
boscho87 JavaFX Variabeln an neue Scene übergeben AWT, Swing, JavaFX & SWT 0
L JavaFX Horizontale Linie zur Scene binding AWT, Swing, JavaFX & SWT 3
L JavaFX Scene wechseln unter FX AWT, Swing, JavaFX & SWT 5
K JavaFX Focus Listener für gesamte Scene AWT, Swing, JavaFX & SWT 1
B JavaFX Problem bei Kamera / Group, gesamte Scene bewegt sich mit AWT, Swing, JavaFX & SWT 0
V kann ich in einer Klasse stage und scene deklarieren, aber in anderen Klassen Inhalte hinzufügen ? AWT, Swing, JavaFX & SWT 5
J JavaFX Variable an neue Scene übergeben AWT, Swing, JavaFX & SWT 8
M JFX8 Mixed 2D and 3D, Scene Subscene incorrect drawing 3ds-file AWT, Swing, JavaFX & SWT 6
ruutaiokwu SWT "Google Window Builder" tut keine jar's ins Projekt rein bei SWT-Projekt AWT, Swing, JavaFX & SWT 22
S Window Builder AWT, Swing, JavaFX & SWT 20
Z Window Builder - Labels mit setText befüllen AWT, Swing, JavaFX & SWT 11
EisKaffee Swing Window Builder installieren AWT, Swing, JavaFX & SWT 1
M NetBeans Swing GUI Builder AWT, Swing, JavaFX & SWT 2
S GUI Entwicklung: GUI Builder oder doch lieber händisch? AWT, Swing, JavaFX & SWT 17
J Gibt es brauchbare GUI-Builder, oder doch besser alles per Hand machen? AWT, Swing, JavaFX & SWT 6
T Kleinen "Gui Builder" programmieren AWT, Swing, JavaFX & SWT 12
S NetBeans GUI Builder - Code-Platzierung AWT, Swing, JavaFX & SWT 3
M GUI-Programmierung - GUI-Builder oder eigenständig? AWT, Swing, JavaFX & SWT 16
M Swing In GUI-Builder-JFrame mit Menü Schreiben und Zeichnen AWT, Swing, JavaFX & SWT 4
J Swing Window-Builder-Projekt richtig übertragen AWT, Swing, JavaFX & SWT 2
H Swing Google Window-Builder AWT, Swing, JavaFX & SWT 4
H JTabedPane in GUI-Builder AWT, Swing, JavaFX & SWT 7
D SWT CheckBox auslesen (Window Builder Pro) AWT, Swing, JavaFX & SWT 2
G Grafische Oberflächen mit Java - GUI Builder oder von Hand? AWT, Swing, JavaFX & SWT 19
L Gui-Builder AWT, Swing, JavaFX & SWT 3
D Netbeans GUI-Builder Darstellungsprobleme AWT, Swing, JavaFX & SWT 2
T SWT Window Builder Pro File Dialog anzeigen AWT, Swing, JavaFX & SWT 10
T Auswahl in GUI-Builder mit Grafiken ausstatten AWT, Swing, JavaFX & SWT 4
I GUI Builder? Framework? Per Hand? AWT, Swing, JavaFX & SWT 9
F GUI Designer / Builder zeichnen AWT, Swing, JavaFX & SWT 7
B BufferedImage Builder AWT, Swing, JavaFX & SWT 15
T GUI-Builder selber erstellen AWT, Swing, JavaFX & SWT 2
F GUI-Builder rauskriegen AWT, Swing, JavaFX & SWT 4
A GUI-Builder AWT, Swing, JavaFX & SWT 5
K Netbeans GUI Builder (Matisse) und erstellen von JPopupMenu AWT, Swing, JavaFX & SWT 1
M Swing GUI Builder AWT, Swing, JavaFX & SWT 2
G Problem mit Cloudgarden's Jigloo (GUI-Builder) AWT, Swing, JavaFX & SWT 2
S Textdokumment öffnen(NetBeans5 Matisse GUI Builder) AWT, Swing, JavaFX & SWT 19
L Wo gibts gute, kostenlose Swing-Gui builder? AWT, Swing, JavaFX & SWT 13
M Ganz simpler GUI-Builder mit Reflection AWT, Swing, JavaFX & SWT 8
T Swing Mehrere Ausgaben in JTextArea AWT, Swing, JavaFX & SWT 2

Ähnliche Java Themen

Neue Themen


Oben