Мне нужно сделать приложение JavaFX, имитирующее чат, для моего задания (без веб-функций, только два текстовых поля для ввода и две текстовые области для вывода).Мне нужно иметь кнопку «Отправить» рядом с моим текстовым полем.Я не могу заставить текстовое поле заполнить ширину моего окна без «сжатия» кнопки при запуске, аналогично тому, как это делает свинг boxLayout?
Я ограничил ширину поля шириной родительской панели, вычтяШирина кнопки и размер панели, и она работает после того, как я начинаю изменять размер окна, но при первом запуске приложения текст кнопки отображается не полностью.
public void start(Stage stage_main) throws Exception {
//Pane creation and nesting:
HBox pane_main = new HBox();
Scene scene_main = new Scene(pane_main, 480, 360);
BorderPane pane_left_parent = new BorderPane();
BorderPane pane_right_parent = new BorderPane();
HBox pane_left_bottom = new HBox();
HBox pane_right_bottom = new HBox();
pane_main.getChildren().addAll(pane_left_parent, pane_right_parent); //Focusing only on the left pane for now for testing.
pane_left_parent.setBottom(pane_left_bottom);
//Contents creation and nesting:
TextArea textA_left = new TextArea("Testing...");
Button button_left = new Button("Send");
TextField textF_left = new TextField("Test input...");
textF_left.prefWidthProperty().bind(pane_left_bottom.widthProperty().subtract(button_left.widthProperty()).subtract(pane_left_bottom.spacingProperty()));
//Placing contents in panes:
pane_left_parent.setCenter(textA_left);
pane_left_bottom.setSpacing(3);
pane_left_bottom.getChildren().addAll(textF_left, button_left);
//Finishing up:
stage_main.setScene(scene_main);
stage_main.show();
}
Есть ли способ получить кнопку?у вас есть «лучший» размер уже при запуске без ручной настройки ширины в пикселях, как в размахе?