gpt4 book ai didi

java - 在父 BorderPane 中居中放置 ImageView 并调整其大小

转载 作者:太空宇宙 更新时间:2023-11-04 14:09:24 27 4
gpt4 key购买 nike

我有以下 FXML:

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.image.*?>
<?import javafx.scene.effect.*?>
<?import javafx.geometry.*?>
<?import javafx.scene.control.*?>
<?import java.lang.*?>
<?import javafx.scene.layout.*?>

<BorderPane fx:id="mainBorderPane" prefHeight="600.0" prefWidth="800.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1" fx:controller="de.mho.livepicture.server.ui.presenter.UIPresenter">
<top>
<MenuBar BorderPane.alignment="CENTER">
<menus>
<Menu mnemonicParsing="false" text="Datei">
<items>
<MenuItem mnemonicParsing="false" onAction="#exit" text="Beenden" />
</items>
</Menu>
<Menu mnemonicParsing="false" text="Hilfe">
<items>
<MenuItem mnemonicParsing="false" text="Über..." />
</items>
</Menu>
</menus>
</MenuBar>
</top>
<bottom>
<HBox alignment="CENTER_RIGHT" spacing="6.0" BorderPane.alignment="CENTER_RIGHT">
<children>
<Button fx:id="startStopServerButton" mnemonicParsing="false" onAction="#startStopServer" text="Server starten" />
<Button mnemonicParsing="false" onAction="#exit" text="Beenden">
<opaqueInsets>
<Insets />
</opaqueInsets>
<HBox.margin>
<Insets />
</HBox.margin>
</Button>
</children>
<BorderPane.margin>
<Insets bottom="6.0" left="6.0" right="6.0" top="6.0" />
</BorderPane.margin>
</HBox>
</bottom>
<center>
<ImageView fx:id="imageView" pickOnBounds="true" preserveRatio="true" BorderPane.alignment="CENTER" />
</center>
</BorderPane>

在我的演示器( Controller )中,我执行以下操作来动态居中图像并调整图像大小:

mainBorderPane.prefWidthProperty().bind(primaryStage.widthProperty());
mainBorderPane.prefHeightProperty().bind(primaryStage.heightProperty());

imageView.setImage(new Image(MAIN_ICON_BLACK_URL));
imageView.fitWidthProperty().bind(mainBorderPane.widthProperty());
imageView.fitHeightProperty().bind(mainBorderPane.heightProperty());

我不知道如何让 ImageView 调整 BorderPane 中心的可用空间大小。它始终使用舞台/场景的整个可用大小。

最佳答案

尝试向 BorderPaneleftright 添加一个节点。这应该可以防止 ImageView 占据整个空间。

关于java - 在父 BorderPane 中居中放置 ImageView 并调整其大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28521150/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com