Я пишу простую текстовую игру, и я решил перейти от отображения
в cmd к отображению в пользовательском окне, которое состоит из одной TextArea, использованной
для вывода и ввода данных пользователем.Поэтому мне нужен метод, который ожидает строку, которую
пользователь пишет, а затем возвращает ее.
В Swing я бы сделал что-то вроде этого (в классе Window):
public String nextToken() {
synchronized (nextToken) {
while (nextToken.isEmpty())
try {
nextToken.wait();
} catch (InterruptedException e) {
print(e.getLocalizedMessage());
}
String tmp = nextToken.remove(0);
lastToken = text.getText();
newLine();
return tmp;
}
}
ИActionListener для удара введите:
public void actionPerformed(ActionEvent arg0) {
synchronized (nextToken) {
nextToken.add(text.getText().substring(lastToken.length(), text.getText().length()));
nextToken.notify();
} }; };
Но когда я создаю окно с помощью JavaFX, а затем пытаюсь использовать этот метод, окно зависает.
Что делать, чтобы окно отображалось правильно и ожидалопользовательский ввод?
Буду благодарен за любой совет