System.out.Println到Java中的JTextArea

时间:2018-01-03 01:17:50

标签: java swing jtextarea system.out

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

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);**

            }

        }
    }

}

}

按下按钮在JTextArea中获取此System.out.println(i)后,我该怎么办?我尝试使用t1.append,但它没有用。谢谢。

2 个答案:

答案 0 :(得分:1)

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

基本上,您要做的是创建自己的自定义OutputStream 并覆盖write(int)方法,该方法在通过流打印字节时调用。您将文本附加到write方法中的TextArea。流本身是通过创建一个新的PrintStream实例创建的,其中您使用自定义输出流作为构造函数参数。

答案 1 :(得分:1)

追加工作正常。

t1.append(i+"");

会做的。