>>136
ごめんなさい、あまりに大雑把でした。

まず、Javaアプレットを使ってチャットもどきのようなものを作成しようと思い、
そのチャットログの保存を目的としています。

String strはチャットのログ自体の文字列で、他のメソッドがサーバーから受け取った情報を渡されています。
メソッドstrはチャットログの「整形と表示」を担当しています。
本来は
void chatLog(name, message) { です。

整形処理は以下のように行っています。

StringBuffer sb = new StringBuffer(name);
sb.append(" > ");
sb.append("\n");
sb.append(chatLogOutput.getText());
String s = sb.toString();

チャットのログがあまり貯まりすぎるとチャット欄再描画の際に重くなるので、
文字列の長さが一定以上になると文字列を削減するようにしています。
ですが、それではチャットログの完全な保存が出来ないため、文字列削減処理の前にstrをs2に保存しています。

String s2 = str;
if(str.length() > 2000)
str = str.substring(0, 1000);

そしてs2を保存する事によって全てのログが保存できる、と考えているのですが、
ActionPerformedからs2を呼び出せないと全てが水の泡になってしまうのです。

どうにかならんでしょうか、という話です。