System.out.Println到Java中的JTextArea

System.out.Println到Java中的JTextArea,java,swing,jtextarea,system.out,Java,Swing,Jtextarea,System.out,晚上好,我是Java GUI新手。我有以下代码: public class FrameENN extends JFrame { JButton b1; JTextArea t1; JLabel l1; String c; eHandler handler = new eHandler(); public FrameENN(String s) { super(s); setLayout(new FlowLayout()); b1 = new JButton("Get R

晚上好,我是Java GUI新手。我有以下代码:

public class FrameENN extends JFrame {

JButton b1;
JTextArea t1;
JLabel l1;
String c;
eHandler handler = new eHandler();

public FrameENN(String s) {
    super(s);
    setLayout(new FlowLayout());
    b1 = new JButton("Get Result");
    t1 = new JTextArea(5, 25);
    l1 = new JLabel("");
    add(b1);
    add(t1);
    add(l1);
    b1.addActionListener(handler);
}

public class eHandler implements ActionListener {

    public void actionPerformed(ActionEvent e) {
        if (e.getSource() == b1) {

            for (int i = 0; i < 3; i++) {
                **System.out.println(i);**

            }

        }
    }

}

}
公共类FrameENN扩展了JFrame{
按钮b1;
jtext1区;
jlabell1;
字符串c;
eHandler handler=新的eHandler();
公共框架(字符串s){
超级(s);
setLayout(新的FlowLayout());
b1=新的JButton(“获取结果”);
t1=新的JTextArea(5,25);
l1=新的JLabel(“”);
添加(b1);
添加(t1);
添加(l1);
b1.addActionListener(处理程序);
}
公共类eHandler实现ActionListener{
已执行的公共无效操作(操作事件e){
如果(如getSource()==b1){
对于(int i=0;i<3;i++){
**系统输出打印LN(i)**
}
}
}
}
}

按下按钮在JTextArea中获取System.out.println(I)时,我可以做什么?我尝试了t1.append,但没有成功。多谢各位

您必须将标准输出流更改为JTextArea。有一个非常好的例子向你展示了如何做到这一点

基本上,您要做的是创建自己的自定义项 并重写write(int)方法,该方法在通过流打印字节时调用。在write方法中将文本附加到TextArea。流本身是通过创建一个新实例来创建的,您刚才创建的自定义输出流是一个构造函数参数。

append可以正常工作

t1.append(i+"");

可以。

我又错过了+“”一个问题,结果是一个原始数据,我如何将其表示为3行不同的数据?如果您要链接到异地资源/其他答案,您应该提供一些关于附加链接的支持信息,因此如果链接离线,答案仍然是相关的,在未来的答案中也会这样。