Нарушение EDT при использовании метода EncodedImage.createFromImage - PullRequest
0 голосов
/ 03 июля 2018

Я использую следующую строку в коде в методе JSON buildRequestBody (OutputStream os), который выдает нарушение EDT. Пожалуйста, сообщите, если есть какие-либо ошибки в использовании этого. Пожалуйста, смотрите прикрепленный журнал.

Код:

if (a.getSign() != null) {
body
+= ",\n           \"SignatureData\": \n"
+ "           {\n"
+ "            \"SignatureImage\": \"" + Base64.encodeNoNewline(EncodedImage.createFromImage(a.getSignature(), false).getImageData()) + "\"\n"
+ "           }\n";
} else {
body += "\n";
}

Войти:

at com.codename1.impl.javase.JavaSEPort.checkEDT(JavaSEPort.java:699)
at com.codename1.impl.javase.JavaSEPort.getImageWidth(JavaSEPort.java:4744)
at com.codename1.ui.Image.getWidth(Image.java:690)
at com.codename1.ui.EncodedImage.createFromImage(EncodedImage.java:164)   com.codename1.io.ConnectionRequest.performOperation(ConnectionRequest.java:689)
at com.codename1.io.NetworkManager$NetworkThread.run(NetworkManager.java:282)
at com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)
com.codename1.impl.javase.JavaSEPort$EDTViolation: EDT Violation Stack!
at com.codename1.impl.javase.JavaSEPort.checkEDT(JavaSEPort.java:699)
at com.codename1.impl.javase.JavaSEPort.getImageHeight(JavaSEPort.java:4755)
at com.codename1.ui.Image.getHeight(Image.java:704)
at com.codename1.ui.EncodedImage.createFromImage(EncodedImage.java:165)
at com.codename1.io.ConnectionRequest.performOperation(ConnectionRequest.java:689)
at com.codename1.io.NetworkManager$NetworkThread.run(NetworkManager.java:282)
at com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176)

1 Ответ

0 голосов
/ 04 июля 2018

EncodedImage выполняет пограничное нарушение EDT с целью исполнения. Код нарушения EDT отправляет ложное срабатывание, потому что мы не знаем разницу.

Это нормально и не вызывает проблем на устройствах.

...