我有点问题。我正在尝试将字符串与数组进行比较。在串行线上接收字符串后构建阵列。
我使用了几个空洞并在它们之间传递字符串和数组,所以每个东西都必须是静态的。
// 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)
有人可以告诉我该做什么吗?