Java 如何将printstream重定向到JTextArea?

Java 如何将printstream重定向到JTextArea?,java,swing,io,system,jtextarea,Java,Swing,Io,System,Jtextarea,我正在编写一个模式生成器,下面是主要代码(模式的字符和步骤由JTextFields提供): String chstrin=ch.getText(); 字符c=chstrin.charAt(0); int n=Integer.parseInt(st.getText()); 对于(int i=0;i,如果JTextArea的名称为res;则: for(int i = 0; i <= n; ++i) { for(int k = 0; k < i*2-1; ++k) r

我正在编写一个模式生成器,下面是主要代码(模式的字符和步骤由JTextFields提供):

String chstrin=ch.getText();
字符c=chstrin.charAt(0);
int n=Integer.parseInt(st.getText());

对于(int i=0;i,如果JTextArea的名称为res;则:

for(int i = 0; i <= n; ++i)
{
    for(int k = 0; k < i*2-1; ++k)
       res.setText(res.getText()+c);

    res.setText(res.getText()+"\n");
}

for(int i=0;i如果您只想将文本发送到
JTextArea
而不是控制台,只需执行以下操作

JTextArea res = new JTextArea();  

....

String chstrin=ch.getText();
char c=chstrin.charAt(0);
int n = Integer.parseInt(st.getText()) ;
for(int i = 0; i <= n; ++i)
{
    for(int k = 0; k < i*2-1; ++k) {
        res.append(String.valueOf(c));
    }
    res.append("\n");
}

上面的代码有什么问题吗?是与关于
JTextArea
的问题有关吗?还是您只是不知道如何在
JTextArea
中设置文本?是的,我不知道在这种情况下如何将输出发送到JTextArea。我尝试了res.append(“+c”)但是它完全失败了。请帮助@peeskilletta看看我的答案。你应该使用
append
方法生成连续的文本行。无法识别res.append(c);表示字符无法转换为字符串。请使用
string.valueOf(c)
res.append(string.valueOf(c))
我真的很抱歉耽搁了。现在开心吗@iShaalan?
JTextArea res = new JTextArea();  

....

String chstrin=ch.getText();
char c=chstrin.charAt(0);
int n = Integer.parseInt(st.getText()) ;
for(int i = 0; i <= n; ++i)
{
    for(int k = 0; k < i*2-1; ++k) {
        res.append(String.valueOf(c));
    }
    res.append("\n");
}
JTextArea res = new JTextArea(); 
res.setLineWrap(true);
res.setWrapStyleWord(true);