クラス ビューはユーザー インターフェイス用で、大きな白いスタイルのテキストが含まれています。
public class View extends ViewPart{
public static StyledText txtArea;
public void createPartControl(Composite parent){
//...
txtArea = new StyledText(parent, SWT.MULTI | SWT.BORDER | SWT.V_SCROLL);
txtArea.addText("My first line !");
new Server("This is my new second line !").start();
}
public static void addText(String str){
txtArea.append(str);
}
}
class Server extends Thread{
private String str;
Server(String str){
this.str = str;
}
@Override
public void run(){
View.addText(str);
}
}
Class Server は View.addText() を呼び出すことができません。
txtArea オブジェクトへの参照を作成すれば機能しますが、addText() メソッドを呼び出す必要があります。
編集:
スレッド "Thread-3" org.eclipse.swt.SWTException での例外: org.eclipse.swt.SWT.error (SWT.java:4361) での無効なスレッド アクセス
org.eclipse.swt.SWT.error(SWT.java:4276)
org.eclipse.swt.SWT.error (SWT.java:4247) で
org.eclipse.swt.widgets.Widget.error (Widget.java:468) で
org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:359)で
org.eclipse.swt.custom.StyledText.setText (StyledText.java:9885) で
com.project.udp.views.View.log (View.java:255) で
com.project.udp.views.Server.run (View.java:294) で