3

I would like to everytime I call System.out.println to append to a given JTextArea, without having to change all calls to System.out.println... Is this possible?

Thank you.

4

4 に答える 4

11

1.5 以降のバージョンの Java にはSystem.setOut()、独自の をインストールできるバージョンがありますPrintStreamOutputStream取得したデータを追加する単純なものを作成し、write()それをラップしてPrintStreamインストールします。

于 2009-11-27T16:41:37.837 に答える
0

簡単な方法はないと思います。System.out私は通常、まさにこのような理由でコード内での呼び出しを避けようとします。(たとえば)のようなメソッドがある場合はMyUtil.myOutput()、単一の変更を加えて、必要な場所に再ルーティングできます

于 2009-11-27T16:39:45.707 に答える
-1

なんらかの形式のAspectJを使用してそれを実行できる可能性があると思いますが、それはやり過ぎかもしれません。私がすることは、印刷と追加の両方を行うメソッドを作成することです。

public void printAndAppend(String text) {
      System.out.println(text);
      textArea.append(text);
}

その後、グローバルな検索と置換を実行して、System.out.printlnそれを置き換えることができますprintAndAppend

于 2009-11-27T16:37:18.740 に答える