Может ли сканер на Java читать текст из диалогового окна - PullRequest
5 голосов
/ 10 ноября 2008

Сканер может получать данные только с системной консоли? не сможете получить из какого-либо диалогового окна?

Спасибо.

Ответы [ 4 ]

10 голосов
/ 10 ноября 2008

A Сканер может считывать текст с любого объекта, который реализует интерфейс Readable .

Это включает BufferedReader, CharArrayReader, CharBuffer, FileReader, FilterReader, InputStreamReader, LineNumberReader, PipedReader, PushbackReader и StringReader (из Readable Javadoc). К сожалению, это не включает никаких диалоговых окон.

Самый простой способ привязать диалоговое окно к Scanner, вероятно, состоит в том, чтобы построить Scanner с использованием конструктора, который принимает String, передавая пользовательский ввод из диалога непосредственно в Scanner.

1 голос
/ 03 мая 2015

Вы можете использовать сканер в диалоговом окне или надписи, сначала получив текст и отсканировав его.

String text = input.getText();
Scanner scan = new Scanner(text);
1 голос
/ 10 ноября 2008

Нет; Сканер может быть создан для любого количества возможных входных данных: файлов, InputStreams, ReadableByteChannels, Strings и всего, что поддерживает интерфейс Readable. См. Сводка конструктора .

0 голосов
/ 10 ноября 2008

Ну, я попытался с примером, приведенным на Лучший способ определить общее количество слов файла в Java? : просто замените new File("my-text-file.txt") на строковую переменную, и это работает ...

Таким образом, если вы получаете текстовое содержимое компонента в строку, вы можете использовать сканер.

...