【问题标题】:Javafx. Bug with TitledPaneJavafx。 TitledPane 的错误
【发布时间】:2017-02-03 11:19:21
【问题描述】:

现在我正在使用 javafx 并使用 SplitPane 创建小视图。 在这个 SplitPane 中,我有两个 TiteledPanes(名为 A 和 B)。在程序工作的第一步,只有一个 TitledPane 包含数据 (A)。但是在用户很少操作之后,一些信息就会放在 B 上。 如果我运行我的程序 10 次,7-8 次一切都会好起来的! 但是在 2 次中,我遇到了第二个 titledPane 的问题。它没有数据。这个 TitledPane 加载没有任何异常,所有绑定都很好,但它没有数据。这很奇怪,因为在 80% 的时间里一切正常。

这可能是 javafx 的错误吗? 有人有同样的问题吗?

<fx:root type="MyView" dividerPositions="0.5" orientation="VERTICAL" style="-fx-background-color: darkgray">
    <fx:define>
        <TitledPane fx:id="A">
           <AnhorPane>
            <Label text="ALabel"/>
           </AnhorPane>
        </TitledPane>
        <TitledPane fx:id="B"/>
           <AnhorPane>
               <Label text="BLabel"/>
           </AnhorPane>
        </TitledPane>
    </fx:define>
</fx:root>




public class MyView extends SplitPane {
public MyView () {
        try {
            FXMLLoader loader = new FXMLLoader(getClass().getResource("MyView .fxml"));
            loader.setController(this);
            loader.setRoot(this);
            loader.load();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

【问题讨论】:

  • 您能否edit 您的问题提供一个简短、完整的示例来演示此行为? (请参阅“如何创建minimal reproducible example”。)
  • 这是我写的非常简单的例子。但是程序运行的 10 次迭代中约有 2 次以空 B TiteledPane 结束

标签: javafx


【解决方案1】:

问题在于加载 fxml 文件的过程。在加载 fxml 文件(在与该 fxml 相关的我的模型类中)并在将来添加到现有 fxml 之后,应该加载很多数据。比如绑定属性等等。

当我使用 ${} 重新定位 fxml 文件中 80% 以上的绑定时 - 问题已解决。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-04
    • 2018-01-16
    • 1970-01-01
    • 2013-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多