JavaFX динамически изменяет размер окна в зависимости от количества элементов VBoxJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Гость
 JavaFX динамически изменяет размер окна в зависимости от количества элементов VBox

Сообщение Гость »

Я хочу создать служебный инструмент, который будет изменять размер по вертикали при добавлении или удалении дочерних элементов из VBox. Дети изменяются посредством пользовательского ввода. Размер окна приложения пользователь не может изменить.
Я создал файл fxml следующим образом: и класс контроллера:

Код: Выделить всё

public class DynamicResizeController {

@FXML
private VBox vBox;

@FXML
private AnchorPane rootPane;

public void handleAddButtonClick(ActionEvent event) {
Label label = new Label("New Element added!");
vBox.getChildren().add(label);
calculateAndResize();
}

private void calculateAndResize() {
double totalHeight = 0;
for (Node child : vBox.getChildren()) {
totalHeight += child.prefHeight(-1) + child.getLayoutY();
}
resizeStage(totalHeight);
}

private void resizeStage(double height) {
// set height of stage to height
}
}
Основной класс довольно прост:

Код: Выделить всё

public class DynamicResizeApplication extends Application {

@Override
public void start(Stage stage) throws Exception {
FXMLLoader fxmlLoader = new FXMLLoader(DynamicResizeApplication.class.getResource("view/dynamic-resize-view.fxml"));
Scene scene = new Scene(fxmlLoader.load());

stage.setScene(scene);
stage.initStyle(StageStyle.UNDECORATED);
stage.show();
}

public static void main(String[] args) {
launch(args);
}
}
Как установить высоту сцены? Я не нашел способа получить доступ к своей сцене в классе контроллера.

Подробнее здесь: https://stackoverflow.com/questions/782 ... x-elements
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • JavaFX ScrollPane не прокручивается с помощью VBox
    Anonymous » » в форуме JAVA
    0 Ответы
    29 Просмотры
    Последнее сообщение Anonymous
  • Intellij javafx module info.java: модуль считывает пакет «javafx.fxml» как из "javafx.fxml ', так и" javafx.fxml'
    Anonymous » » в форуме JAVA
    0 Ответы
    48 Просмотры
    Последнее сообщение Anonymous
  • Ipywidgets Vbox не отображается в развертывании Binder с использованием Voila
    Anonymous » » в форуме Python
    0 Ответы
    51 Просмотры
    Последнее сообщение Anonymous
  • Почему адреса файлов, хранящихся на диске (vbox vm), различаются каждый раз, когда я просматриваю их?
    Anonymous » » в форуме Linux
    0 Ответы
    21 Просмотры
    Последнее сообщение Anonymous
  • Невозможно правильно установить Python 3.7.0 на компьютере Ubuntu 22.04 LTS VBox.
    Anonymous » » в форуме Python
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»