Java扫描仪可以从对话框中读取文本吗
扫描仪只能从系统控制台获取输入?无法从任何对话框窗口获取 谢谢。用户可以从实现接口的任何对象读取文本 这包括Java扫描仪可以从对话框中读取文本吗,java,java.util.scanner,Java,Java.util.scanner,扫描仪只能从系统控制台获取输入?无法从任何对话框窗口获取 谢谢。用户可以从实现接口的任何对象读取文本 这包括BufferedReader,CharArrayReader,CharBuffer,FileReader,FilterReader,InputStreamReader,PipedReader,PushbackReader,以及StringReader(来自可读的javadoc)。不幸的是,这不包括任何对话框窗口 将对话框窗口挂接到扫描仪的最简单方法可能是使用构造函数构建扫描仪,该构造函数接
BufferedReader
,CharArrayReader
,CharBuffer
,FileReader
,FilterReader
,InputStreamReader
,PipedReader
,PushbackReader
,以及StringReader
(来自可读的javadoc)。不幸的是,这不包括任何对话框窗口
将对话框窗口挂接到扫描仪
的最简单方法可能是使用构造函数构建扫描仪
,该构造函数接受字符串
,将用户输入从对话框直接传递到扫描仪
否;可以为任意数量的可能输入创建一个接口:文件、InputStreams、ReadableByTechnnels、字符串和任何支持可读接口的内容。请参阅。好吧,我尝试了下面给出的示例:只需将新文件(“my text File.txt”)
替换为字符串变量,就可以了
因此,如果您将组件的文本内容转换为字符串,则可以使用扫描仪。您可以在对话框或标签上使用扫描仪,方法是首先获取文本并扫描该文本
String text = input.getText();
Scanner scan = new Scanner(text);
当然,可以配置一个对话框窗口,使数据流抛出一个InputStream,然后将其连接到扫描仪上。当然可以。有很多更直接的方法可以从对话框中获取用户输入,我以前从未考虑过这种可能性。当然是这样。我认为原始问题的根源可能只是对替代方案缺乏了解或理解。我确实观察到——最近,甚至是——扫描仪被用作输入的第一选择,而在这种情况下,它显然不是合适的选择。还有,旁白——为什么要使用StringReader?可以直接在字符串上创建扫描仪;额外的层只会增加开销。@Greg:又对了。我以前从未使用过该构造函数。:)我认为这个问题的原因可能是他们可以使用Scanner的一些方便的方法来解析输入。