Witam.
Mam aplikację napisaną w javaFX, która w domyślnym ustawieniu okna wygląda tak, jakbym chciał, jednak jeśli rozszerzy się okno lub włączy tryb pełnoekranowy, to niektóre elementy przesuwają się zgodnie z oknem, ale nie rozszerzają, a niektóre zostają na swoim miejscu i nawet nie drgną. Chciałbym, aby moja aplikacja, niezależnie od rozmiaru okna, wyglądała tak samo. Czy da się to jakoś zrobić?
- Rejestracja:prawie 11 lat
- Ostatnio:ponad 9 lat
- Postów:32

- Rejestracja:około 12 lat
- Ostatnio:około 3 lata
Wszystko się da. Taki przykładzik:
HBox hBox = new HBox();
TextField textField = new TextField();
textField.setMaxWidth(Double.MAX_VALUE);
hBox.getChildren().add(textField);
HBox.setHGrow(textField, Priority.ALWAYS);
W skrócie: 1) definiujesz dla kontrolerów rozmiary; 2) definiujesz dla kontenerów jak mają się zachowywać w stosunku do osadzonych w nich kontrolerów. Voila.
- Rejestracja:prawie 11 lat
- Ostatnio:ponad 9 lat
- Postów:32
Niestety, stworzyłem metodę, która każdemu polu z mojej klasie nadaje w/w atrybuty i nic, wywoływałem ją w konstruktorze po załadowaniu pliku fxml, wywoływałem przez włożeniem fxmla do stage-a i nic się nie zmienia. Załączam link do paste-a mojego fxmla - http://pastebin.com/HvgYjXnT

- Rejestracja:prawie 12 lat
- Ostatnio:ponad 2 lata
- Postów:9
W fxml dodaj dla "searchTable"
AnchorPane.leftAnchor="265.0" AnchorPane.rightAnchor="148.0"
a dla "addButton", "forceAddBox", "cleanButton" AnchorPane.rightAnchor="14.0"
Pozostałe komponenty analogicznie, w ten sposób możesz ustawić pozycję krawędzi (top, bottom, left, right). W zależności jaki efekt końcowy chcesz uzyskać, dostosuj te wartości.
- Rejestracja:prawie 11 lat
- Ostatnio:ponad 9 lat
- Postów:32
A istnieje możliwość ustawienia tego w SceneBuilderze? Cały layout pisałem właśnie w tym programie

- Rejestracja:prawie 12 lat
- Ostatnio:ponad 2 lata
- Postów:9
W SceneBuilder masz coś takiego jak Anchor Pane Constraints:
dla TableView kliknij na lewy i prawy
dla dwóch przycisków i checkboxa z prawej zaznacz tylko prawy
w efekcie mam coś takiego:
a po rozszerzeniu okna (tabela jest szersza):
tu masz kod ze zmianami dla tabeli i komponentów na prawo od niej:
<?xml version="1.0" encoding="UTF-8"?>
<?import javafx.scene.text.*?>
<?import javafx.scene.control.*?>
<?import javafx.scene.layout.*?>
<?import java.lang.*?>
<?import javafx.scene.*?>
<fx:root maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="621.0" prefWidth="808.0" type="VBox" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1">
<children>
<MenuBar layoutY="2.0" prefHeight="25.0" prefWidth="645.0">
<menus>
<Menu mnemonicParsing="false" text="File">
<items>
<MenuItem mnemonicParsing="false" text="Close" />
</items>
</Menu>
<Menu mnemonicParsing="false" text="Edit">
<items>
<MenuItem mnemonicParsing="false" text="Delete" />
</items>
</Menu>
<Menu mnemonicParsing="false" text="Help">
<items>
<MenuItem mnemonicParsing="false" text="About" />
</items>
</Menu>
</menus>
</MenuBar>
<AnchorPane fx:id="quickAddPane" layoutY="27.0" prefHeight="147.0" prefWidth="765.0">
<children>
<Separator layoutY="130.0" prefHeight="3.0" prefWidth="808.0" />
<Label alignment="CENTER" contentDisplay="CENTER" layoutY="14.0" prefHeight="17.0" prefWidth="95.0" text="Imie" />
<Label alignment="CENTER" contentDisplay="CENTER" layoutY="57.0" prefHeight="17.0" prefWidth="95.0" text="Nazwisko" />
<Label alignment="CENTER" contentDisplay="CENTER" layoutY="95.0" prefHeight="17.0" prefWidth="95.0" text="Klasa" />
<TextField fx:id="firstNameField" layoutX="104.0" layoutY="10.0" promptText="Imi�" text="Janek" />
<TextField fx:id="lastNameField" layoutX="104.0" layoutY="51.0" promptText="Nazwisko" text="Matejko" />
<TextField fx:id="classIdField" layoutX="104.0" layoutY="91.0" promptText="Klasa" text="3c" />
<TableView fx:id="searchTable" focusTraversable="false" layoutX="265.0" layoutY="4.0" prefHeight="122.0" prefWidth="395.0" AnchorPane.leftAnchor="265.0" AnchorPane.rightAnchor="148.0">
<columns>
<TableColumn editable="false" prefWidth="147.0" resizable="false" text="Imi�" />
<TableColumn editable="false" prefWidth="169.0" resizable="false" text="Nazwisko" />
<TableColumn editable="false" prefWidth="78.0" resizable="false" text="Klasa" />
</columns>
</TableView>
<Button fx:id="addButton" layoutX="666.0" layoutY="6.0" mnemonicParsing="false" onMouseClicked="#addButtonAction" prefHeight="34.0" prefWidth="128.0" text="Dodaj" AnchorPane.rightAnchor="14.0" />
<CheckBox fx:id="forceAddBox" layoutX="677.0" layoutY="51.0" mnemonicParsing="false" prefHeight="24.0" prefWidth="117.0" text="Wymuszaj" AnchorPane.rightAnchor="14.0" />
<Button fx:id="cleanButton" layoutX="666.0" layoutY="86.0" mnemonicParsing="false" onMouseClicked="#clearButtonAction" prefHeight="34.0" prefWidth="128.0" text="Wyczy��" AnchorPane.rightAnchor="14.0" />
</children>
</AnchorPane>
<AnchorPane fx:id="middlePane" prefHeight="310.0" prefWidth="765.0" />
<Separator prefHeight="3.0" prefWidth="619.0" />
<SplitPane dividerPositions="0.5714285714285714" prefHeight="165.0" prefWidth="645.0">
<items>
<AnchorPane minHeight="0.0" minWidth="0.0" prefHeight="160.0" prefWidth="100.0">
<children>
<TableView fx:id="eventTableViev" layoutX="-1.0" maxWidth="520.0" minWidth="215.0" prefHeight="158.0" prefWidth="505.0">
<columns>
<TableColumn fx:id="eventColumn" prefWidth="149.0" text="Zdarzenia" />
</columns>
</TableView>
</children>
</AnchorPane>
<AnchorPane maxWidth="520.0" minHeight="0.0" minWidth="84.0">
<children>
<TextArea fx:id="eventDescArea" maxWidth="750.0" minWidth="181.0" prefHeight="154.0" prefWidth="462.0" />
</children>
</AnchorPane>
</items>
</SplitPane>
</children>
</fx:root>
- a32491358a.png (32 KB) - ściągnięć: 177
- 2576f9d70f.png (35 KB) - ściągnięć: 177
- 2b3f4e32a1.png (26 KB) - ściągnięć: 153
- 14922af152.png (29 KB) - ściągnięć: 155
miiichal_er