我最近探索了JavaFX并遇到了一个简单的登录表单,通过php脚本执行登录。 根据结果,登录表单指示错误标签或重定向到新场景。
在实际登录过程中,我想显示一个进度条,只要登录失败,我就会用错误标签交换(可见性切换)。
由于某种原因,标签出现一次后,进度条会跳转到新位置。
显示错误行为的视频:
重现此行为的最小示例(JDK8,语言级别= 8):
答案 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>
...