【问题标题】:System.out.Println to JTextArea in Java [duplicate]Java中的System.out.Println到JTextArea [重复]
【发布时间】:2018-01-03 01:17:50
【问题描述】:

晚上好,我是 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);**

            }

        }
    }

}

}

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

【问题讨论】:

    标签: java swing jtextarea system.out


    【解决方案1】:

    追加工作正常。

    t1.append(i+"");
    

    会的。

    【讨论】:

    • 我错过了 + ""
    • 还有一个问题,结果是一个原始的,我怎么能用 3 个不同的行来表示它?
    【解决方案2】:

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

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

    【讨论】:

    • 如果你要链接到非现场资源/其他答案,你应该提供一些关于附加链接的支持信息,所以如果链接离线,答案仍然是相关的
    • 明白了,以后会回答的。
    猜你喜欢
    • 2013-01-20
    • 1970-01-01
    • 2014-04-10
    • 2020-03-19
    • 1970-01-01
    • 1970-01-01
    • 2011-10-29
    • 1970-01-01
    • 2016-04-17
    相关资源
    最近更新 更多