Я создаю графический интерфейс с некоторыми текстовыми полями и кнопкой отправки. Я пытаюсь проверить ввод, чтобы он не менял никаких значений, когда кнопка нажимается, если только значения не проверяют условие, но они сохраняют цикл независимо от значений, которые я им даю.Java endless Input Dialog loop
Сначала я хотел сделать это с помощью обычных диалогов сообщений, но я не могу изменить ввод, потому что окно в пути, и если я нажму OK, выполнение продолжит, так вот как я получил входные диалоги. Так что да, я действительно ценю помощь здесь :)
int landPrice = ((int) (Math.random() * (26 - 17)) + 17);
int purchasedLand=0;
while (!inputAccepted) {
purchasedLand = Integer.parseInt(landBox.getText().trim());
if ((g.getGrain() - (purchasedLand * landPrice)) < 0)
purchasedLand = Integer.parseInt(JOptionPane.showInputDialog(landBox,
"please re-input the amount of purchased land,"
+ " we cannot afford the given amount! "));
else {
System.out.println("yay");
inputAccepted = true;
}
}
g.getGrain()
должна возвращать 2800 на старте.
После того, как вы в курсе, что нет никакой возможности для пользователя, чтобы обновить состояние поля (они фактически заблокированы) – MadProgrammer
хорошо, так как иначе я мог обойтись без излишеств? – MuadDib
Трудно узнать, потому что я не знаю, как ты попал в эту дыру. Рассмотрите возможность предоставления [runnable example] (https://stackoverflow.com/help/mcve), который демонстрирует вашу проблему. Это не дамп кода, а пример того, что вы делаете, что подчеркивает проблему, с которой вы сталкиваетесь. Это приведет к меньшему путанице и лучшим ответам – MadProgrammer