gpt4 book ai didi

java - 从 JavaFX 2.2 到 JavaFX8

转载 作者:太空宇宙 更新时间:2023-11-04 06:34:24 24 4
gpt4 key购买 nike

我已经使用 JavaFX 2.2 创建了一个应用程序,并希望切换到 JavaFX 8。使用 JavaFX2.2 我的应用程序如下所示:

JavaFX 2.2

当使用 JavaFX 8 而不更改任何源代码时,它看起来像这样:

JavaFX8

使用 JavaFX8 时,某些节点根本不会显示(例如标准 1),有时会在随机单击滚动 Pane 后出现。此外,节点的大小不正确(比较步骤 1 和小点)。另一个问题是,在执行添加节点等操作时,应用程序在 JavaFX8 中严重滞后。

不幸的是,我根本没有收到任何错误消息,而且我几乎不知道必须修复什么才能让应用程序在 JavaFX8 中运行。任何帮助/想法/提示将不胜感激。

可能的问题(?):

  • 我在我的应用程序中经常使用 Platform.runLater()。这在 JavaFX 8 中可能有所改变吗?
  • 在 JavaFX2.2 中,节点(例如包含文本的堆栈 Pane )的大小在将其添加到滚动 Pane 后会自动计算。假设我添加了一个位置为 x 和 y 的节点。只有在 JavaFX 绘制它之后,我才能获取它的高度和宽度(boundsInParent.getHeight())。这也是我经常使用 Platform.runLater() 来布局节点的原因。 JavaFX 8 中的这种行为是否发生了变化?

编辑:“bug”与 css 样式有关。如果我删除添加到节点的样式表,一切都会正常工作(当然,节点的样式除外)。特别是我必须删除的命令具有以下形式:

getStylesheets().add(ClassName.class.getResource("CSSFile.css").toExternalForm());

最佳答案

我发现了错误:我的 css 样式表(用于节点)中有一个负值。删除该值使其像 JavaFX 2.2 中一样工作。准确地说,我必须更改以下内容:

-fx-border-width: 5 -1 0 5 ;

-fx-border-width: 5 0 0 5 ;

关于java - 从 JavaFX 2.2 到 JavaFX8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25623893/

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