JavaFX - StackPane组件跳转

时间:2014-07-14 16:47:10

标签: java user-interface javafx java-8

我最近探索了JavaFX并遇到了一个简单的登录表单,通过php脚本执行登录。 根据结果​​,登录表单指示错误标签或重定向到新场景。

在实际登录过程中,我想显示一个进度条,只要登录失败,我就会用错误标签交换(可见性切换)。

由于某种原因,标签出现一次后,进度条会跳转到新位置。

显示错误行为的视频:

Video of the issue

重现此行为的最小示例(JDK8,语言级别= 8):

Code sample

1 个答案:

答案 0 :(得分:0)

组件正在跳跃,因为当您将text应用于Label时,StackPane的宽度会增加,而ProgressBar会转移到CENTER {1}}。

对于将来的参考,您可以通过将样式应用于StackPane或任何其他布局

来检查类似现象
<StackPane style=" -fx-border-color:black; 
                -fx-border-width: 1; -fx-border-style: solid;">

为避免这种情况,您必须将ProgressBar打包在HBox并设置alignment of the HBox

...
<Label id="login-status-label" fx:id="loginStatusLabel"  />
<HBox alignment="CENTER_RIGHT">
    <ProgressIndicator id="login-status-progress-indicator" 
          fx:id="loginStatusProgressIndicator" prefHeight="15.0" 
                                   prefWidth="15.0" visible="false"/>
</HBox>
...