-1

少し問題があります。文字列を配列と比較しようとしています。配列は、シリアル回線で文字列を受信した後に構築されます。

いくつかのボイドを使用し、それらの間で文字列と配列を渡すので、すべてが静的でなければなりません。

// button is set
public static  Button btnRS_1;
// inside Create contense:
            btnRS_1 = new Button(shlSioMiniTest, SWT.TOGGLE);
        btnRS_1.setEnabled(false);
        btnRS_1.setSelection(false);;
        btnRS_1.setFont(SWTResourceManager.getFont("Tahoma", 10, SWT.NORMAL));
        btnRS_1.setBounds(29, 130, 76, 16);
        btnRS_1.setText("RS232 0");

        if (RStest[0].equals("1")){
          btnRS_1.setSelection(true);
           }

エラーが発生します。それらもたくさん。そして、ビットをコメントアウトしsetSelectionて、文字列を出力して動作することを確認します。

Exception in thread "Thread-9" org.eclipse.swt.SWTException: Invalid thread access
    at org.eclipse.swt.SWT.error(SWT.java:4361)
    at org.eclipse.swt.SWT.error(SWT.java:4276)
    at org.eclipse.swt.SWT.error(SWT.java:4247)
    at org.eclipse.swt.widgets.Widget.error(Widget.java:468)
    at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:359)
    at org.eclipse.swt.widgets.Button.setSelection(Button.java:1047)
    at SioTest.Sio_test.fillChecks(Sio_test.java:604)
    at SioTest.Sio_test.testParameters(Sio_test.java:592)
    at SioTest.Sio_test$ProtocolImpl.onMessage(Sio_test.java:968)
    at SioTest.Sio_test$ProtocolImpl.onReceive(Sio_test.java:946)
    at SioTest.Sio_test$SerialReader.run(Sio_test.java:882)
    at java.lang.Thread.run(Unknown Source)

誰かが私に何をすべきかアドバイスできますか?

4

1 に答える 1

-1

次のリンクを読んでください:無効なアクセス例外

SWTディスプレイスレッドの外部から何かを呼び出しているように見えます

于 2013-02-26T12:26:53.917 に答える