В диалоговом окне ввода отображается текущий запас для элемента. Я хочу, чтобы пользователь вводил новые холдинги для элемента через целое число.Как я могу правильно обработать окно ввода?
Если пользователь закрывает или отменяет диалоговое окно ввода WHILST, также не имеющее ничего внутри текстового поля ввода, я хочу вернуться в главное меню. Это также произойдет, даже если пользователь имеет что-то во входном текстовом поле.
Если пользователь вводит строку, исключение с числовым форматом будет уловлено, и пользователю будет предложено ввести только номер.
Если вход пуст, и пользователь нажимает кнопку «ОК», появится диалоговое окно с сообщением и скажет пользователю, что вам нужно будет ввести номер.
В настоящее время мне очень сложно реализовать эти методы в моем диалоговом окне ввода.
Вот мой код:
int newInput = Integer.parseInt(JOptionPane.showInputDialog(null, "Your current holdings are: "
+ currentHoldings, "Edit Holdings", JOptionPane.CANCEL_OPTION));
//Currently, when closing the program if newInput is empty
//It goes straight to the number format exception
//I need the program closed if the user closes it.
if (newInput == JOptionPane.CLOSED_OPTION)
{
JOptionPane.getRootFrame().dispose();
break;
}
...
catch (NumberFormatException nfe)
{
JOptionPane.showMessageDialog(null, "Please enter in a number!");
}
Даже если текстовое поле пустое, и пользователь закрывает либо красный крест или кнопки отмены, исключение формата номер по-прежнему бросает. Я хочу, чтобы программа закрывалась, даже если в текстовом поле ничего нет.
Как я могу проверить, что пользователь вводит что-либо в текстовое поле диалога ввода? В настоящее время мне также трудно реализовать эту функцию.
Вопрос в том, как лучше управлять моим диалоговым окном ввода для обработки кнопок выхода, если пользовательский ввод пуст и закрывает диалоговое окно ввода.
Благодарим за помощь.
Почему вы сравнивая результат в диалоге с 'JOptionPane.CLOSED_OPTION'? Вы также можете проверить, является ли String числом, не опуская его, и тем самым обойти проблематичное 'NumberFormatException'. См. Http://stackoverflow.com/questions/1102891/how-to-check-if-a-string-is-numeric-in-java – hotzst
Я не уверен, как обращаться, если пользователь нажимает кнопки закрытия. Я везде искал и не могу найти решение. Я пойму решение для целочисленной обработки, хотя, спасибо за это. У меня также есть два JOptionPanes, и я только хочу закрыть одно открытое в то время. – juiceb0xk