#java #swing #applet #user-input #japplet
#java #swing #апплет #пользовательский ввод #japplet
Вопрос:
У меня есть два класса. Один создает графический JApplet
интерфейс, а другой класс принимает пользовательский ввод из апплета и выполняет с ним вычисления.
Класс applet создает графический интерфейс и сообщает классу вычислений о запуске. Затем класс вычислений вызывает метод из класса applet, чтобы запросить пользовательский ввод. Затем этот метод прослушивает действие от a JTextField
для возврата к классу вычислений.
Но проблема в том, что когда вы запускаете программу, она фактически не ждет, пока пользователь введет что-то в текстовое поле. В результате класс вычислений получает нулевой ввод.
Как я могу это исправить?
Я попытался использовать a JOptionPane.showInputDialog
вместо an ActionListener
в методе, и это работает. Но я не хочу использовать это; в основном потому, что это похоже на всплывающее окно, и я хочу, чтобы пользователь вводил данные непосредственно в апплет.
Комментарии:
1. КСТАТИ, 1) Для более быстрой помощи опубликуйте SSCCE . 2) 1 для (re.
JOptionPane
) «Но я не хочу это использовать; в основном потому, что это похоже на всплывающее окно ..»
Ответ №1:
Добавьте ActionListener
JTextField
в апплет. При запуске события (обычно, когда пользователь нажимает «Ввод») вызовите класс вычислений, используя String
в текстовом поле.
Или, говоря по-другому. Класс, который является источником события (апплет), должен вызвать метод класса вычислений. Это не должно быть наоборот.