gpt4 book ai didi

JavaFX TitledPane lookup(.title) 返回 null

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:01:59 24 4
gpt4 key购买 nike

我是 Java FX 的新手,正在创建一个有趣的应用程序。我正在尝试动态添加 TitledPane,但在大约 70% 的时间里尝试查找 TitledPane 的标题时出现空指针异常。我试图为我的问题创建一个简单的演示,但无法在我的应用程序之外重现该问题,但我可以解决我的问题。我希望有人能帮助我理解为什么我的解决方案有效,并可能为我指明更好的解决方案的方向。我正在使用带有 Controller 的 FXML 文件。我试图在 Platform.runLater() 中查找标题,因为我正在手动编辑标题的布局和元素。在 Controller 的初始化函数内部,我执行以下操作以获取空指针异常:

Platform.runLater(new Runnable() {
@Override
public void run() {
titledpane.lookup(".title"); // will return null about 70% of the time
}
});
// Do more stuff

但是,如果我将该调用包装在一个计时器中并在 500 毫秒内执行它,它似乎永远不会返回 Null。

new java.util.Timer().schedule(new java.util.TimerTask() {
@Override
public void run() {
Platform.runLater(new Runnable() {
@Override
public void run() {
titledpane.lookup(".title"); // doesn't seem to return null
}
});
}
}, 500);

一个论坛提到在对标题调用查找之前必须将 CSS 应用于元素,因此我尝试手动将 CSS 应用于标题,但是 titledpane.lookup(".title") 仍然返回 null。任何人都可以帮助我了解这里发生的事情吗?提前致谢!

最佳答案

我遇到了同样的问题。我通过在包含 TitledPane 的 Pane 上调用 applyCss()layout() 解决了这个问题:

Node loadedPane = paneLoader.load();
bodyPane.setCenter(loadedPane);
bodyPane.applyCss();
bodyPane.layout();

关于JavaFX TitledPane lookup(.title) 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27793586/

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