最近,我探索了JavaFX,并发现了一个简单的登录表单,它通过php脚本执行登录。根据结果,登录表单指示错误标签或重定向到新场景。
在实际登录过程中,我想显示一个进度条,当登录没有成功时,我用错误标签交换它(可见性切换)。
由于某些原因,进度条在标签出现一次后跳转到新位置。
显示错误行为的视频:
问题的录像
重现此行为的最小示例(JDK8,Language level=8):
代码样本
发布于 2014-07-15 06:29:42
组件是跳转的,因为当您将text
应用到Label
时,StackPane
的宽度会增加,而ProgressBar
会转移到CENTER
。
对于将来的引用,可以通过将样式应用于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>
...
https://stackoverflow.com/questions/24741607
复制相似问题