0

在 Android 上使用 JavaFXPorts(Asus Transformer Prime TF201 平板电脑上的 Android 4.1.1)时,在按下 ComboBox 时会引发 java.lang.StackOverflowError(请参见堆栈跟踪的顶部堆栈下方)。

它发生在我的 FX 应用程序的 ComboBox 中,并且使用 Ensemble 中的 ComboBox 示例也可以 100% 重现。换句话说:不能使用JavaFX ComboBox。

我知道许多论坛上发布的 Android 堆栈大小限制,并且有各种关于在 Android UI 和 Android API 发生这种情况时该怎么做的建议。但是,在使用 JavaFX UI 和 JavaFXPorts 时找不到相关的想法。

任何有关修复\调整\解决方法的想法将不胜感激。

E/AndroidRuntime(32212): FATAL EXCEPTION: JavaFX Application Thread
E/AndroidRuntime(32212): java.lang.StackOverflowError
E/AndroidRuntime(32212):        at javafx.scene.Node.getTransformedBounds(Node.java:3422)
E/AndroidRuntime(32212):        at javafx.scene.Parent.getChildTransformedBounds(Parent.java:1724)
E/AndroidRuntime(32212):        at javafx.scene.Parent.recomputeBounds(Parent.java:1516)
E/AndroidRuntime(32212):        at javafx.scene.Parent.impl_computeGeomBounds(Parent.java:1380)
E/AndroidRuntime(32212):        at javafx.scene.layout.Region.impl_computeGeomBounds(Region.java:3078)
E/AndroidRuntime(32212):        at javafx.scene.Node.updateGeomBounds(Node.java:3577)
E/AndroidRuntime(32212):        at javafx.scene.Node.getGeomBounds(Node.java:3530)
4

1 回答 1

7

您可以创建java.custom.properties文件,并在其中包含此属性:

monocle.stackSize=128000

您也可以通过将它们包含在新值中来覆盖其他系统属性。

将文件放在类路径的根目录下,例如在src/android/resources项目的文件夹中。

您可以在此处找到此常见问题解答,并在此处找到 JavaFXPorts 的所有文档

检查这是否解决了您的异常。

于 2016-01-12T20:26:57.583 回答