3

プログラムで常に並列関数を実行する必要があります。私が正しいと考えているかどうかはわかりませんが、サーバーから情報を取得して、TextArea を常に更新するコードを作成したいと考えています。

私はRMIを使用しています。

MainClass 内でスレッド関数を作成し、それを常に実行することはできますか?

または、別のクラスで TextArea を更新するスレッドを作成するにはどうすればよいですか? TextArea を共有するにはどうすればよいですか?

4

1 に答える 1

3

私が理解しているかどうかはわかりませんが、TextArea は JTextArea を意味し、MainClass はアプリケーションのエントリ ポイントであると想定します。

このようにすることを妨げているのは何ですか?

public class Updater implements Runnable {
    private JTextArea textArea;

    public Updater(JTextArea textArea){
        this.textArea = textArea;
    }

    @Override
    public void run(){
        SwingUtilities.invokeLater(new Runnable(){
            public void run(){
                            //do what you've got to do....
                textArea.setText("New Text");
            }
        });
    }

}

そして、「MainClass」では次のようになります。

public static void main(String[] args) {

    Thread myThread = new Thread(new Updater(myTextArea));
    myThread.start();

}
于 2012-05-04T23:55:50.130 に答える