我正在使用我发现的以下代码在界面而不是consol中显示结果。
public class Main{
public static void main( String [] args ) throws InterruptedException {
JFrame frame = new JFrame();
frame.add( new JLabel(" Outout" ), BorderLayout.NORTH );
JTextArea ta = new JTextArea();
TextAreaOutputStream taos = new TextAreaOutputStream( ta, 60 );
PrintStream ps = new PrintStream( taos );
System.setOut( ps );
System.setErr( ps );
frame.add( new JScrollPane( ta ) );
frame.pack();
frame.setVisible( true );
for( int i = 0 ; i < 100 ; i++ ) {
System.out.println( i );
Thread.sleep( 500 );
}
}
}
但是在我的程序中的某个步骤,我需要接收用户输入。在consol程序可以工作,但在界面上它似乎没有将输入发送到我的程序。
顺便说一句,我正在使用我程序的这部分代码来接收用户输入:
Scanner input = new Scanner(System.in);
String data = input.nextLine();
我的问题是如何让GUI界面接受用户输入而不仅仅显示结果/错误?
答案 0 :(得分:1)
用户Swing JTextPane
用于平面文字输入或JEditorPane
更多可达输入。
在此处查看一些好的示例(按启动按钮进行真实演示) https://docs.oracle.com/javase/tutorial/uiswing/components/editorpane.html