我用GUI制作了一个java程序。现在我想在GUI上添加一个组件,我可以通过
显示输出的方式显示我想要的任何内容System.out.println();
我可以在GUI上添加哪个组件以及如何在该组件上显示内容。
答案 0 :(得分:5)
您可以定义打印到JTextArea的PrintStream:
final JTextArea textArea = new JTextArea();
PrintStream printStream = new PrintStream( new OutputStream() {
@Override
public void write( final int b ) {
SwingUtilities.invokeLater(new Runnable() {
public void run() {
textArea.append( "" + (char )b );
textArea.setCaretPosition( textArea.getText().length() );
}
});
}
} );
System.setOut(printStream);
答案 1 :(得分:1)
对于一行,您可以使用JLabel并设置其text属性。如何使用JLabel:http://www.leepoint.net/notes-java/GUI/components/10labels/jlabel.html
或者,如果您需要打印多行,可以使用JTextArea-box。
还可以使用Java2D和Graphics对象在GUI面板上绘制/绘制文本。
答案 2 :(得分:1)
每次打印时,您都可以使用JTextArea
并为其添加文字。请致电setEditable(false)
,使其为只读。将其添加到JScrollPane
,以便它可以滚动。
或者您可以使用JList
并将每行添加为单独的列表项。它不会自动换行,但是如果你显示类似于事件日志的东西,那么它看起来会很好。