類視圖是用於用戶界面的,它包含一個大的白色樣式文本。Java類與另一類交互
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);
}
}
類服務器無法調用View.addText()。
如果我對txtArea對象進行引用,它就會工作,但我必須調用addText()方法。
編輯:
異常在線程 「螺紋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)
也許你想使用View.txtArea.addText(STR) – Jack
你應該調用線程啓動( )方法來運行。 – Jason
你是什麼意思,「不能調用addText()?」 –