#java #user-interface #javafx
#java #пользовательский интерфейс #javafx
Вопрос:
Когда я изменяю размер окна, размер hbox является фиксированным, и именно поэтому он не увеличивается при увеличении размера окна. Как автоматически изменять размер или устанавливать размер окна всякий раз, когда пользователь увеличивает размер окна?
<?xml version="1.0" encoding="UTF-8"?>
<?import com.jfoenix.controls.JFXHamburger?>
<?import javafx.scene.layout.AnchorPane?>
<?import javafx.scene.layout.HBox?>
<AnchorPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8.0.65" xmlns:fx="http://javafx.com/fxml/1">
<children>
<HBox layoutX="-6.0" nodeOrientation="LEFT_TO_RIGHT" prefHeight="100.0" prefWidth="807.0" style="-fx-background-color: #42A5F5;">
<children>
<JFXHamburger prefHeight="100.0" prefWidth="100.0" />
</children>
</HBox>
</children>
</AnchorPane>
Пожалуйста, дайте мне совет, как создать лучший пользовательский интерфейс в javafx, дайте мне источники, если вы знаете.
Комментарии:
1.
HBox
Предположительно, он имеет фиксированный размер из-за части кода, который вы написали. Пока вы не опубликуете этот код, никто по-настоящему не сможет помочь.2. не давайте -1 дайте мне ссылки, если ответ уже в stackoverflow!
3. извините @James_D Я собираюсь загрузить спасибо, чтобы сказать мне
4. Вы получаете
downvotes
, потому что вы не опубликовали никакого кода, трассировки стека и шагов, которые вы предприняли для устранения вашей проблемы.5. Вы устанавливаете
prefWidth
порядок всего… Поэтому, конечно, он не будет изменять размер. Я понятия не имею, чтоJFXHamburger
это такое, поэтому я не знаю, как это ведет себя с точки зрения макета, но если вы жестко задаете размеры объектов, ничто не может изменить его размер. Просто выберите подходящую панель макета , которая ведет себя так, как вы хотите.
Ответ №1:
Просто через полтора года я научился создавать гибкий и динамичный дизайн пользовательского интерфейса в Javafx.
- Используйте BorderPane в качестве корневой панели.
- Поместите свой HBox в верхнюю часть BorderPane. (Используйте ширину и высоту размера компьютера)
Это всего лишь один из способов, которым вы можете найти несколько способов динамического примера пользовательского интерфейса в stack или Google.