如何创建s.th。像java函数中的输出流?

如何创建s.th。像java函数中的输出流?,java,Java,我想解决以下问题: 我有一个GUI类,其中包含一些JTextArea。我也在编写自己的类,让我们称之为Foo 实际上,我所有的计算都在GUI类中。他们只是使用s.th。例如myText.append(…)将一些输出写入GUI 现在我想把所有的计算都放到我的新类Foo中问题:如何创建一个方法,从GUI获取JTextArea作为输入,然后像以前一样使用它将一些输出文本写入其中。我不想把它作为方法的返回值 这可能吗?像这样的事情 public class Foo { public void w

我想解决以下问题: 我有一个GUI类,其中包含一些
JTextArea
。我也在编写自己的类,让我们称之为
Foo

实际上,我所有的计算都在GUI类中。他们只是使用s.th。例如
myText.append(…)
将一些输出写入GUI

现在我想把所有的计算都放到我的新类
Foo
问题:如何创建一个方法,从GUI获取
JTextArea
作为输入,然后像以前一样使用它将一些输出文本写入其中。我不想把它作为方法的返回值

这可能吗?

像这样的事情

public class Foo {
    public void writeInfoToTextArea(JTextArea textArea /*, other parms here */) {
        textArea.setText(...);
    }
}

您需要的是映射器或适配器,即从一个接口接受方法并将其转换为另一个接口的方法调用的东西。在您的情况下,我建议在
OutputStream
上使用
Writer
,以避免所有编码问题。请尝试以下代码:

public Foo extends Writer {
    private JTextArea textArea;

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

    public void write(char cbuf[], int off, int len) throws IOException {
        String text = new String( cbuff, off, len );
        textArea.append( text );
    }

    public void close() { }
    public void flush() { }
}

如果您确实需要
OutputStream
,请查看
OutputStreamWriter
以在字节和Unicode字符之间进行转换。

问题不清楚。请显示一些代码。这是与事件相关的。如果我答对了问题,您希望在单击/按enter键后保存当前图片(或文本)-因此您需要有人听enter/单击。@mtk:问题不清楚。英语不是他的母语。