2010-08-17 15 views
0

我有一個父類,建立我的用戶界面(現在基本上只是一個文本框)。我創建了一個創建新線程的輔助類,並且我需要能夠從新線程更新父類的文本框。我所嘗試的一切都會引發錯誤。我假設我需要創建某種調度程序,但我的背景是C#,並且我不太熟悉如何在Java中執行此操作。從父類中更新從不同的線程從二級類的UI

我最近的迭代將父類的對象傳遞給輔助類中的一個靜態方法,該輔助類通過爲輔助類(裏面有run()方法)實例化一個對象來創建新線程。在輔助對象中有一個構造函數,它需要從父類傳入的對象,當它傳入時,會在我的父類的成員部分中設置一個屬性。當我嘗試在run()方法中訪問該成員以更新父類上的文本框時,出現錯誤。

本質次級類看起來是這樣的:

 public class SecondaryClass extends Thread { 
    private ParentClass pc = null; 
    public SecondaryClass(ParentClass PC){ 
    pc = PC; 
    } 
    public static void StartThread(ParentClass pC){ 
     Thread thread = new SecondaryClass(pC); 
     thread.start(); 
    } 
    public void run() { 
     pc.myTextBox.append("something"); 
    } 
} 

我也試着創建接受字符串父類的公共方法,因爲它是唯一的參數,並調用該方法從運行中()在中學階段,並在那裏傳遞「一些東西」。父類上的方法更新相同的文本框,但也存在問題。

任何人都可以請提供一些見解,我需要做什麼來訪問跨這些線程的UI元素?

回答

0
+0

YoK,謝謝你的迴應。我實際上是爲Android設備編寫的。我不確定Swing或AWT是否適用於Android,但我認爲它沒有。有沒有我可以使用的調度方法,而不是使用swing包? – Kyle 2010-08-17 17:02:51

+0

@Kyle它應該被support.added鏈接到類似的問題回答。 – YoK 2010-08-17 17:10:21

+0

我剛剛確認。不幸的是,在Android開發中不支持swing。我會將你的回答標記爲答案,因爲你確實提供了我原來的問題的充分答案(不知道它是爲了android)。我發現這篇文章可能會幫助我解決我的Android開發問題:http://www.ibm.com/developerworks/library/x-gourmetandroid/index.html?ca=dgr-lnxw97DalvikJavadth-JV – Kyle 2010-08-17 17:26:16