Search code examples
javafxtableviewscrollbarsceneborderpane

BorderPanes - JavaFX Scene Builder - Scrollbar down button not visibel


I have a small problem with the position / visibility of the lower scrollbar button of the BorderPanes (EBMTableView) - JavaFX Scene Builder

I want that if I minimize the window, the bottom scrollbar button is always visible.

Thank you very much

Please check the Code of GUI and the imgs down.

    <?xml version="1.0" encoding="UTF-8"?>

<?import de.riconn.fx_ebm_control.gui.views.abgleich.*?>
<?import de.riconn.fx_ebm_control.gui.views.arzt_aktuell.*?>
<?import de.riconn.fx_ebm_control.gui.views.ebm.*?>
<?import de.riconn.fx_ebm_control.gui.views.frequenz.*?>
<?import javafx.geometry.Insets?>
<?import javafx.scene.control.Button?>
<?import javafx.scene.control.Menu?>
<?import javafx.scene.control.MenuBar?>
<?import javafx.scene.control.MenuItem?>
<?import javafx.scene.control.Tab?>
<?import javafx.scene.control.TabPane?>
<?import javafx.scene.control.TableColumn?>
<?import javafx.scene.control.TableView?>
<?import javafx.scene.effect.Glow?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.BorderPane?>
<?import javafx.scene.layout.HBox?>

<BorderPane maxHeight="-Infinity" maxWidth="-Infinity"
    minHeight="-Infinity" minWidth="-Infinity" prefHeight="900.0"
    prefWidth="1230.0" xmlns="http://javafx.com/javafx/8.0.111" xmlns:fx="http://javafx.com/fxml/1"
    fx:controller="de.riconn.fx_ebm_control.gui.WpdlTxtControler">
    <center>
        <TabPane prefHeight="200.0" prefWidth="200.0"
            tabClosingPolicy="UNAVAILABLE" BorderPane.alignment="CENTER">
            <tabs>
                <Tab fx:id="tab_patient" onSelectionChanged="#tab_Patienten_Selected"
                    text="Patientenliste">
                    <content>
                        <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0"
                            prefWidth="200.0">
                            <children>
                                <BorderPane layoutX="107.0" layoutY="53.0"
                                    prefHeight="346.0" prefWidth="600.0" AnchorPane.bottomAnchor="0.0"
                                    AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0"
                                    AnchorPane.topAnchor="0.0">
                                    <top>
                                        <Button fx:id="btn_PatientenOpen" mnemonicParsing="false"
                                            onAction="#openPatientenListe" text="Patientenliste öffnen.."
                                            BorderPane.alignment="CENTER" />
                                    </top>
                                    <center>
                                        <ArztAktuellTableView fx:id="tv_patientContainer"
                                            prefHeight="494.0" prefWidth="829.0" BorderPane.alignment="CENTER" />
                                    </center>
                                </BorderPane>
                            </children>
                        </AnchorPane>
                    </content>
                </Tab>
                <Tab fx:id="tab_frequenz" onSelectionChanged="#tab_Frequenz_Selected"
                    text="Frequenztabelle">
                    <content>
                        <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0"
                            prefWidth="200.0">
                            <children>
                                <BorderPane layoutX="109.0" layoutY="49.0"
                                    prefHeight="346.0" prefWidth="600.0" AnchorPane.bottomAnchor="0.0"
                                    AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0"
                                    AnchorPane.topAnchor="0.0">
                                    <top>
                                        <Button fx:id="btn_FrequenzOpen" mnemonicParsing="false"
                                            onAction="#openFrequenzFile" text="Frequenztabelle öffnen..."
                                            BorderPane.alignment="CENTER" />
                                    </top>
                                    <center>
                                        <FrequenzTableView fx:id="tv_frequenzContainer"
                                            prefHeight="494.0" prefWidth="829.0" BorderPane.alignment="CENTER_RIGHT" />
                                    </center>
                                </BorderPane>
                            </children>
                        </AnchorPane>
                    </content>
                </Tab>
                <Tab fx:id="tab_abgleich" onSelectionChanged="#tab_Abgleich_Selected"
                    text="Abgleichsliste">
                    <content>
                        <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0"
                            prefWidth="200.0">
                            <children>
                                <BorderPane layoutX="69.0" layoutY="51.0" prefHeight="346.0"
                                    prefWidth="600.0" AnchorPane.bottomAnchor="0.0"
                                    AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0"
                                    AnchorPane.topAnchor="0.0">
                                    <top>
                                        <HBox alignment="TOP_RIGHT" spacing="10.0">
                                            <Button fx:id="btn_AbgleichToPdf" mnemonicParsing="false"
                                                onAction="#viewAbgleichAsPdf" text="Als PDF öffnen..."
                                                BorderPane.alignment="CENTER" />
                                            <BorderPane.margin>
                                                <Insets right="10.0" />
                                            </BorderPane.margin>
                                        </HBox>
                                    </top>
                                    <center>
                                        <AbgleichTableView fx:id="tv_abgleichContainer"
                                            prefHeight="200.0" prefWidth="200.0" BorderPane.alignment="CENTER" />
                                    </center>
                                </BorderPane>
                            </children>
                        </AnchorPane>
                    </content>
                </Tab>
                <Tab fx:id="tab_EBM" onSelectionChanged="#tab_EBM_Selected"
                    text="EBM Liste">
                    <content>
                        <AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="180.0"
                            prefWidth="200.0">
                            <children>
                                <BorderPane layoutX="489.0" layoutY="229.0"
                                    prefHeight="829.0" prefWidth="1200.0" AnchorPane.bottomAnchor="0.0"
                                    AnchorPane.leftAnchor="0.0" AnchorPane.rightAnchor="0.0"
                                    AnchorPane.topAnchor="0.0">
                                    <top>
                                        <HBox alignment="TOP_RIGHT" spacing="10.0">
                                            <Button fx:id="btn_minus_ebm" mnemonicParsing="false"
                                                onAction="#delete_ebm" text="-">
                                            </Button>
                                            <Button fx:id="btn_plus_ebm" mnemonicParsing="false"
                                                onAction="#add_ebm" text="+">
                                            </Button>
                                            <BorderPane.margin>
                                                <Insets right="10.0" />
                                            </BorderPane.margin>
                                        </HBox>
                                    </top>
                                    <center>
                                        <EBMTableView fx:id="tv_EBMContainer" editable="true"
                                            prefHeight="200.0" prefWidth="200.0" tableMenuButtonVisible="true"
                                            BorderPane.alignment="CENTER" />
                                    </center>
                                </BorderPane>
                            </children>
                        </AnchorPane>
                    </content>
                </Tab>
            </tabs>
        </TabPane>
    </center>
    <top>
        <MenuBar prefHeight="0.0" prefWidth="878.0"
            BorderPane.alignment="CENTER">
            <menus>
                <Menu mnemonicParsing="false" text="File">
                    <items>
                        <MenuItem mnemonicParsing="false" onAction="#openFrequenzFile"
                            text="Frequenztabelle öffnen..." />
                        <MenuItem mnemonicParsing="false" onAction="#openPatientenListe"
                            text="Patientenliste öffnen..." />
                        <MenuItem mnemonicParsing="false" onAction="#close" text="Close" />
                    </items>
                </Menu>
                <Menu mnemonicParsing="false" text="Edit">
                    <items>
                        <MenuItem fx:id="m_add_ebm" disable="true" mnemonicParsing="false" onAction="#add_ebm"
                            text="hinzufügen" />
                        <MenuItem fx:id="m_delete_ebm" disable="true" mnemonicParsing="false" onAction="#delete_ebm"
                            text="löschen" />
                    </items>
                </Menu>
                <Menu mnemonicParsing="false" text="Abgleich">
                    <items>
                        <MenuItem fx:id="m_viewAbgleichAsPdf" disable="true" mnemonicParsing="false"
                            onAction="#viewAbgleichAsPdf" text="Als PDF öffnen" />
                    </items>
                </Menu>
                <Menu mnemonicParsing="false" text="Help">
                    <items>
                        <MenuItem mnemonicParsing="false" onAction="#openAboutDialog"
                            text="About" />
                    </items>
                </Menu>
            </menus>
        </MenuBar>
    </top>
</BorderPane>

JavaFX Scene Builder structure

windows with scrollButton

windows without scrollButton after minimizing


Solution

  • Problem Solved, just change the first BorderPane Params like this ->

    <BorderPane maxHeight="0" maxWidth="0"
    minHeight="0" minWidth="0" prefHeight="0"
    prefWidth="1230.0" xmlns="http://javafx.com/javafx/8.0.111" 
    xmlns:fx="http://javafx.com/fxml/1"