在Android上按FX ComboBox时出现java.lang.StackOverflowError

时间:2016-01-12 20:01:20

标签: android javafx stack-overflow javafxports

在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时,无法找到相关的想法。

非常感谢修复\ tweak \ workaround的任何想法。

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)

1 个答案:

答案 0 :(得分:7)

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

monocle.stackSize=128000

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

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

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

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