📜  如何将文本打印到 jframe - Java (1)

📅  最后修改于: 2023-12-03 15:38:45.893000             🧑  作者: Mango

如何将文本打印到 JFrame - Java

在 Java 中,可以使用 JFrame 类来创建一个窗口程序。而在这个窗口中输出文本信息是很常见的需求。下面介绍一些如何在 JFrame 中输出文本的方法。

在 JFrame 中添加文本标签

一个常见的方法是在 JFrame 中添加一个文本标签 JLabel,然后设置其文本。可以使用下面的代码创建并添加一个 JLabel 到 JFrame 中:

JFrame frame = new JFrame("My JFrame");
JLabel label = new JLabel("Hello, World!");
frame.add(label);
在 JFrame 中添加文本区域

如果需要显示多行文本,可以使用 JTextArea,示例代码如下:

JTextArea textArea = new JTextArea();
textArea.append("Hello, World!\n");
textArea.append("This is a new line.");
frame.add(textArea);

注意,使用 JTextArea 需要设置其大小和位置。

在 JFrame 中添加输出流

Java 中的 System 类有三个标准输出流:System.out、System.err 和 System.in。我们可以将标准输出流之一添加到 JTextArea 中,以便在 JFrame 中输出文本信息。

示例代码如下:

JTextArea textArea = new JTextArea();
PrintStream printStream = new PrintStream(new CustomOutputStream(textArea));
System.setOut(printStream);
System.setErr(printStream);

其中 CustomOutputStream 是一个自定义的 OutputStream,用于将输出流重定向到 JTextArea 中。下面是 CustomOutputStream 的代码:

public class CustomOutputStream extends OutputStream {
    private JTextArea textArea;

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

    @Override
    public void write(int b) throws IOException {
        textArea.append(String.valueOf((char) b));
    }
}
总结

以上是几种在 JFrame 中输出文本的方法。通过添加 JLabel、JTextArea 或输出流,可以方便地在窗口程序中打印文本信息。