我有多個類和線程需要寫入Java Swing JScrollPane。在Android/Eclipse環境中,我使用了android.os.Message。在NetBeans/Windows環境中是否有類似的東西?這裏就是我想從發送消息:Java類之間的消息傳遞如何最好地完成?
public class PrintStatusTask extends Thread {
PrintStatusTask(String name) {
this.name = name;
}
private void sendMessage(String s) {
// TODO: send message to jTextArea
}
public void run() {
...
sendMessage("Any message");
...
這是寫作的從JFrame中它生活在JScrollPane的一個例子:
public class Controller extends javax.swing.JFrame implements Observer {
...
jTextArea.append(s);
...
SwingWorker的'process()'方法在EDT上運行,所以不需要使用'invokeLater()':http://download.oracle.com/javase/6/docs/api/javax /swing/SwingWorker.html – trashgod 2010-09-21 20:04:20
JScrollPane由另一個類中的後臺任務或其所在的JFrame更新。寫入JScrollPane似乎沒有響應,但後臺任務有很多工作要做,這就是爲什麼這是必需的。 – jacknad 2010-09-21 20:21:15
@trashgod你是對的 - 我忘記了。我正在考慮一個正常的線程。 – aperkins 2010-09-21 20:22:22