Я работал над приложением JavaFX, и, работая над макетом, я заметил странное дополнительное пространство в моей сцене. Я не просил, чтобы место было там, и я убедился, что для заполнения и интервала установлено значение 0
. Вот (очень урезанная) версия кода:Дополнительное пространство в JavaFX
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.TextArea;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class Test extends Application {
private static final int PREF_WIDTH = 600;
private static final int PREF_HEIGHT = 300;
public void start(Stage primaryStage) {
TextArea text = new TextArea();
text.setMinWidth(PREF_WIDTH);
text.setPrefWidth(PREF_WIDTH);
text.setMaxWidth(PREF_WIDTH);
text.setMinHeight(PREF_HEIGHT);
text.setPrefHeight(PREF_HEIGHT);
text.setMaxHeight(PREF_HEIGHT);
VBox contentPane = new VBox();
contentPane.getChildren().addAll(text);
VBox mainPane = new VBox();
mainPane.getChildren().addAll(contentPane);
Scene scene = new Scene(mainPane);
primaryStage.setResizable(false);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
Результирующее в:
То, что я действительно хочу, нет места на всех.
Почему это происходит? Как вы избавитесь от него?
Вы уверены, что это не артефакт инструмента отображения? Как насчет изменения цвета на красный или около того, и если он охватывает все окно? –
Это из-за 'primaryStage.setResizable (false);'; установите его в значение «true» и увидите, если пробел исчез. См. [Здесь] (http://stackoverflow.com/questions/14759182/anchorpane-shows-a-white-border-when-setresizable-is-false-javafx). – pzaenger
@pzaenger Вы, кажется, правы. Теперь вопрос заключается в том, как не допускать изменения размера, сохраняя при этом этот эффект. – TheCoffeeCup