5

扫描仪只能从系统控制台获取输入?无法从任何对话窗口获取?

谢谢。

4

4 回答 4

10

Scanner可以从任何实现Readable接口 的对象中读取文本。

这包括BufferedReader, CharArrayReader, CharBuffer, FileReader, FilterReader, InputStreamReader, LineNumberReader, PipedReader, PushbackReader, 和StringReader(来自Readablejavadoc)。不幸的是,这不包括任何对话窗口。

将对话框窗口挂接到 a 的最简单方法Scanner可能是Scanner使用带有 a 的构造函数构建 a String,将用户输入从对话框直接传递到Scanner.

于 2008-11-10T03:00:40.683 回答
1

不; 可以为任意数量的可能输入创建 Scanner:Files、InputStreams、ReadableByteChannels、Strings 以及任何支持 Readable 接口的东西请参阅构造函数摘要

于 2008-11-10T03:04:53.423 回答
1

您可以通过首先获取文本并对其进行扫描来在对话框或标签上使用扫描仪。

String text = input.getText();
Scanner scan = new Scanner(text);
于 2015-05-03T07:57:34.600 回答
0

好吧,我尝试使用最佳方式中给出的示例来确定 Java 中文件的总字数?:只需new File("my-text-file.txt")用字符串变量替换,它就可以工作......

所以如果你把组件的文本内容拿到String中,就可以使用Scanner。

于 2008-11-10T09:04:59.687 回答