创建样式 SignatureButtonBox 时出错。 selected: false 前缀: 抛出异常

问题描述 投票:0回答:1

实例化 SignatureComponent 后,

SignatureComponent custSignature = new SignatureComponent();

投掷:

[EDT] 0:1:21,183 - Error creating style SignatureButtonBox. selected: false prefix: 
java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
[EDT] 0:1:21,183 - Exception: java.lang.ClassCastException - java.lang.Integer cannot be cast to java.lang.String

我已经刷新了所有 CN1 库,干净编译。

想法?

codenameone
1个回答
0
投票

异常(为了方便起见,粘贴在下面)表明有人正在做这样的事情:

Object value = 3;
String asString = (String)value;

这在 Java 中是非法的。它还表明它来自 Button.java 的第 835 行。但正如您所看到的,那里没有这样的代码。文件中只有一次到 String 的强制转换,这很好。这不可能是一个Integer,至少不是偶然的。这导致我在你的项目中发现了三个错误的事情,我认为其中之一是问题的原因:


    您的项目已过时 - 确保您使用当前版本的库。我们当前的版本是
  • 7.0.133

    ,编辑

    pom.xml
    并确保更新旧版本。
    
    

  • 确保您正在使用 JDK 11 或 JDK 8 运行。看起来您正在使用较新版本的 JDK。
  • 请勿在按下按钮时调用连接 API。正如您从代码中看到的那样,这导致了循环。由于连接 API 是阻塞调用,因此会重复调用。您可以通过串行调用来包装它,也可以在应用程序位于前台时从计时器中调用它。
  • [EDT] 0:28:42,626 - Exception: java.lang.ClassCastException - class java.lang.Integer cannot be cast to class java.lang.String (java.lang.Integer and java.lang.String are in module java.base of loader 'bootstrap') at com.codename1.ui.Button.pointerReleased(Button.java:835) at com.codename1.ui.LeadUtil.pointerReleased(LeadUtil.java:153) at com.codename1.ui.Form.pointerReleased(Form.java:3881) at com.codename1.ui.Component.pointerReleased(Component.java:5266) at com.codename1.ui.Display.handleEvent(Display.java:2409) at com.codename1.ui.Display.edtLoopImpl(Display.java:1285) at com.codename1.ui.Display.invokeAndBlock(Display.java:1503) at com.codename1.ui.Display.invokeAndBlock(Display.java:1542) at com.codename1.io.NetworkManager.addToQueueAndWait(NetworkManager.java:746) at org.littlemonkey.connectivity.SimulatorConnectionManager.getConnectionStatus(SimulatorConnectionManager.java:47) at org.littlemonkey.connectivity.Connectivity.getConnectionState(Connectivity.java:44) at org.littlemonkey.connectivity.Connectivity.isConnected(Connectivity.java:40) at com.mobile.server.ServerImpl.isOffline(ServerImpl.java:2090) at com.mobile.forms.BaseForm.addOfflineHint(BaseForm.java:70) at com.mobile.forms.BaseForm.<init>(BaseForm.java:63) at com.mobile.forms.RatingForm.<init>(RatingForm.java:57) at com.mobile.forms.ActivityCompleteIncompleteForm.lambda$new$2(ActivityCompleteIncompleteForm.java:93) at com.codename1.ui.util.EventDispatcher.fireActionEvent(EventDispatcher.java:349) at com.codename1.ui.Button.fireActionEvent(Button.java:687) at com.codename1.ui.Button.released(Button.java:728) at com.codename1.ui.Button.pointerReleased(Button.java:835) at com.codename1.ui.LeadUtil.pointerReleased(LeadUtil.java:153) at com.codename1.ui.Form.pointerReleased(Form.java:3881) at com.codename1.ui.Component.pointerReleased(Component.java:5266) at com.codename1.ui.Display.handleEvent(Display.java:2409) at com.codename1.ui.Display.edtLoopImpl(Display.java:1285) at com.codename1.ui.Display.invokeAndBlock(Display.java:1503) at com.codename1.ui.Display.invokeAndBlock(Display.java:1542) at com.codename1.io.NetworkManager.addToQueueAndWait(NetworkManager.java:746) at org.littlemonkey.connectivity.SimulatorConnectionManager.getConnectionStatus(SimulatorConnectionManager.java:47) at org.littlemonkey.connectivity.Connectivity.getConnectionState(Connectivity.java:44) at org.littlemonkey.connectivity.Connectivity.isConnected(Connectivity.java:40) at com.ymobile.server.ServerImpl.isOffline(ServerImpl.java:2090) at com.mobile.forms.BaseForm.addOfflineHint(BaseForm.java:70) at com.mobile.forms.BaseForm.<init>(BaseForm.java:63) at com.mobile.forms.RatingForm.<init>(RatingForm.java:57) at com.ymobile.forms.ActivityCompleteIncompleteForm.lambda$new$2(ActivityCompleteIncompleteForm.java:93) at com.codename1.ui.util.EventDispatcher.fireActionEvent(EventDispatcher.java:349) at com.codename1.ui.Button.fireActionEvent(Button.java:687) at com.codename1.ui.Button.released(Button.java:728) at com.codename1.ui.Button.pointerReleased(Button.java:835) at com.codename1.ui.LeadUtil.pointerReleased(LeadUtil.java:153) at com.codename1.ui.Form.pointerReleased(Form.java:3881) at com.codename1.ui.Component.pointerReleased(Component.java:5266) at com.codename1.ui.Display.handleEvent(Display.java:2409) at com.codename1.ui.Display.edtLoopImpl(Display.java:1285) at com.codename1.ui.Display.mainEDTLoop(Display.java:1203) at com.codename1.ui.RunnableWrapper.run(RunnableWrapper.java:120) at com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)
© www.soinside.com 2019 - 2024. All rights reserved.