JavaFX Tabelle soll ganze Seite ausfüllen

javafx

Mitglied
Hallo zusammen,

ich möchte eine JavaFX Anwendung machen, die Teilweise eine TableView anzeigen soll.
Die TableView soll dann immer den ganzen Bildschirm ausfüllen. Natürlich ist meine Anwendung etwas komplexer, ich habe jetzt jetzt mal ein einfaches Beispiel erstellt, welches auch schon die Probleme macht, dass die TableView nicht auf dem ganzen Bildschirm angezeigt wird.

Ich habe im FXML schon verschiedene Container erfolglos getestet.
fx:root type="javafx.scene.layout.Pane"

Jemand einen Tipp?

Vielen Dank u. schöne Grüße

Mainklasse
Java:
public class ApplicationMain extends Application {

    @Override
    public void start(Stage stage) throws Exception{
        MainController mainController = new MainController();

        stage.setScene(new Scene(mainController));
        stage.setTitle("Datenverwaltung");

        stage.setMaximized(true);

        stage.show();

    }


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

Controller
Java:
public class MainController extends Pane {

    public MainController() {
        FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource(
                "fxml/main.fxml"));
        fxmlLoader.setRoot(this);
        fxmlLoader.setController(this);

        try {
            fxmlLoader.load();
        } catch (IOException exception) {
            throw new RuntimeException(exception);
        }
    }

FXML
Java:
<?import javafx.scene.control.cell.PropertyValueFactory?>
<fx:root type="javafx.scene.layout.Pane" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
   <children>
             <TableView fx:id="testTable">
                 <columnResizePolicy>
                     <TableView fx:constant="CONSTRAINED_RESIZE_POLICY" />
                 </columnResizePolicy>
                 <columns>
                     <TableColumn text="Test">
                     </TableColumn>
                 </columns>
             </TableView>
   </children>
</fx:root>
 
BorderPane und die Tabelle in den Center setzen... Pane ist eine sehr allgemeine Oberklasse und ich wüsste nicht, wie viel Layouting das überhaupt macht. Alternativ gingt auch VBox, dann musst du nur das VGrow-Flag für die Tabelle auf Always setzen. So ziemlich jeder andere "ordentliche" Layout-Container sollte das in irgendeiner Art und Weise können.
 

Zurück
Oben