扫描仪只能从系统控制台获取输入?无法从任何对话窗口进入?
感谢。
答案 0 :(得分:10)
Scanner可以从任何实现Readable接口的对象读取文本。
包括BufferedReader
,CharArrayReader
,CharBuffer
,FileReader
,FilterReader
,InputStreamReader
,LineNumberReader
,{{1 },PipedReader
和PushbackReader
(来自StringReader
javadoc)。不幸的是,这不包括任何对话窗口。
将对话框窗口挂钩到Readable
的最简单方法可能是使用带有Scanner
的构造函数构建Scanner
,将对话框中的用户输入直接传递给String
。
答案 1 :(得分:1)
没有;可以为任意数量的可能输入创建Scanner:Files,InputStreams,ReadableByteChannels,Strings以及支持Readable接口的任何内容。请参阅Constructor Summary。
答案 2 :(得分:1)
您可以在对话框或标签上使用扫描仪,方法是首先获取文本并进行扫描。
String text = input.getText();
Scanner scan = new Scanner(text);
答案 3 :(得分:0)
好吧,我尝试了Best way to determine the total number of words of a file in Java?给出的示例:只需将new File("my-text-file.txt")
替换为String变量,它就可以工作......
因此,如果您将组件的文本内容转换为String,则可以使用Scanner。