我正在使用我找到的以下代码在界面而不是控制台中显示结果。
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 );
}
}
}
但是在我的程序的某个步骤中,我需要接收用户输入。在控制台上,程序可以工作,但在界面上,它似乎没有将输入发送到我的程序。
顺便说一句,我正在使用程序的这部分代码来接收用户输入:
Scanner input = new Scanner(System.in);
String data = input.nextLine();
我的问题是如何使 GUI 界面接受用户输入而不仅仅是显示结果/错误?
最佳答案
用户 Swing 的 JTextPane
用于平面文本输入或 JEditorPane
更易于访问的输入。
在此处查看一些很好的示例(按启动按钮进行实际演示) https://docs.oracle.com/javase/tutorial/uiswing/components/editorpane.html
关于java - 在 GUI 界面中接收用户输入(通过扫描仪),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35757320/