提问人:user36064 提问时间:11/10/2008 最后编辑:Peter Lawreyuser36064 更新时间:6/15/2015 访问量:2004
Java 中的扫描仪可以从对话框中读取文本吗?
Can Scanner in Java read text from a dialog box
答:
10赞
Bill the Lizard
11/10/2008
#1
这包括 、 、 、 、 和 (来自 javadoc)。不幸的是,这不包括任何对话框窗口。BufferedReader
CharArrayReader
CharBuffer
FileReader
FilterReader
InputStreamReader
LineNumberReader
PipedReader
PushbackReader
StringReader
Readable
将对话窗口挂接到 的最简单方法可能是使用接受 的构造函数构建 ,将用户输入从对话框直接传递给 。Scanner
Scanner
String
Scanner
评论
0赞
Greg Case
11/10/2008
当然可以配置一个对话框窗口来流数据抛出一个 InputStream,然后可以将其挂接到扫描仪。
0赞
Bill the Lizard
11/10/2008
当然可以。从对话框中获取用户输入的方法有很多,我以前从未考虑过这种可能性。
0赞
Greg Case
11/10/2008
当然是真的。我认为最初问题的根源可能只是缺乏对替代方案的知识或理解。我当然观察到 - 最近,甚至 - 扫描仪被用作输入的第一选项,而它显然不是合适的选择。
0赞
Greg Case
11/10/2008
另外,旁注 - 为什么要制作 StringReader?扫描仪已经可以直接在字符串上创建;额外的层只会增加开销。
0赞
Bill the Lizard
11/10/2008
@Greg:又对了。我以前从未使用过该构造函数。:)我认为这个问题的原因可能是为了让他们可以使用 Scanner 的一些便捷方法来解析输入。
1赞
Greg Case
11/10/2008
#2
否;可以为任意数量的可能输入创建扫描程序:Files、InputStreams、ReadableByteChannels、Strings 以及支持 Readable 接口的任何内容。请参阅构造函数摘要。
0赞
PhiLho
11/10/2008
#3
好吧,我尝试了在 Java 中确定文件总字数的最佳方法中给出的示例:只需替换为 String 变量,它就可以工作了......new File("my-text-file.txt")
因此,如果将组件的文本内容放入 String 中,则可以使用 Scanner。
1赞
Peter Lawrey
5/3/2015
#4
您可以在对话框或标签上使用扫描仪,方法是首先获取文本并对其进行扫描。
String text = input.getText();
Scanner scan = new Scanner(text);
评论