Java GUI问题

时间:2009-10-13 19:32:30

标签: java user-interface

我用GUI制作了一个java程序。现在我想在GUI上添加一个组件,我可以通过

显示输出的方式显示我想要的任何内容
System.out.println();

我可以在GUI上添加哪个组件以及如何在该组件上显示内容。

3 个答案:

答案 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并将每行添加为单独的列表项。它不会自动换行,但是如果你显示类似于事件日志的东西,那么它看起来会很好。