Я пытаюсь сделать своего рода телефонную книгу, и мои навыки в графическом интерфейсе Java выглядят ржавыми, поскольку я не делал их один год. Итак, давайте предположим, что у меня есть одна кнопка в моем окне. Когда я нажимаю на него, я хочу, чтобы он появился с диалоговым окном с тремя разделами для ввода текста (имя, фамилия и номер телефона), а затем, когда пользователь нажмет кнопку «ОК» внизу, он добавит их в список имен и именных номеров. Какой код мне нужно, чтобы кнопка выполнила это действие? Я уже знаю, как сделать кнопку, поэтому я в основном задаюсь вопросом о действии, которое она выполняет, и о том, как сделать нужное диалоговое окно.Кнопка GUI GUI, диалоговое окно и ввод
ответ
Хорошо, так что ваша кнопка называется button1. Вам нужно будет добавить ActionListner к этой кнопке и ActionPerformed (который будет инкапсулировать то, что происходит при нажатии кнопки.) Когда кнопка нажата, вы можете создать новую панель, добавляющую текстовые поля на панели. Затем вы можете добавить еще одну кнопку для продолжения, в результате чего его дуэт ActionListner/ActionPerfromed сохранит строку, введенную в текстовое поле, в определенную строку. Пример кода ниже:
button1.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent a) {
JPanel panel1 = new JPanel();
JTextField textbox = new JTextField(50);
JTextField textbox1 = new JTextField(50);
JTextField textbox3 = new JTextField(50);
label.setText("Please enter Something below on the textbox: ");
panel1.add(label);
panel1.add(textbox);
panel1.add(textbox1);
panel1.add(textbox2);
JButton button3 = new JButton();
button3.setText("CLICK TO PROCEED");
panel1.add(button3, BorderLayout.NORTH);
frame.setContentPane(panel1);
frame.invalidate();
frame.validate();
button3.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent ae){
String s1 = textbox.getText();
String s2 = textbox1.getText();
String s3 = textbox2.getText();}}
Надеюсь, это поможет. Однако учтите, что переменные, определенные в actionPerformed, являются локальными. s1, s2, s3 не могут использоваться снаружи. Лучше создавать частные статические переменные вне метода ActionListner/ActionPerformed.
и как сделать нужное диалоговое окно.
Вы сделать окно JDialog так же, как сделать окно JFrame, somethink как:
JPanel panel = new JPanel();
panel.add(someComponent);
panel.add(anotherComponent);
JDialog dialgo = new JDialog();
dialog.add(panel);
dialog.pack();
dialog.setVisible(true);
Обычно этот код будет содержится в отдельном классе, и вы просто создать экземпляр класса в ваш ActionListener.
Спасибо за это, это то, что я искал, хотя теперь мне нужно выяснить, как заставить его вернуть значения в текстовые поля. Не должно быть слишком сложно. – user276019
- 1. Unity3D gui кнопка внутри gui окно ошибка
- 2. Java GUI Диалоговое окно гиперссылки
- 3. directx9 кнопка и directx9 gui
- 4. Принимая пользовательский ввод. Python GUI
- 5. Новичок - кнопка переключения GUI
- 6. Кнопка Gui не работает
- 7. Кнопка не работает (GUI)
- 8. Всплывающее окно Java GUI netbeans
- 9. Окно истории MATLAB GUI
- 10. Организация GUI GUI
- 11. Java, окно GUI Builder
- 12. Java GUI, организуя диалоговое окно для получения данных от пользователя
- 13. Как настроить диалоговое окно «GUI не отвечает» Windows?
- 14. Диалоговое окно GUI, которое может принимать пользовательский ввод в виде текста или открывать файл для обработки
- 15. GUI и non gui разница
- 16. Пользовательский ввод GUI через C
- 17. Java Swing GUI Скрытый ввод
- 18. Pygame, пользовательский ввод в GUI?
- 19. Пользовательская кнопка GUI Python + Ссылка
- 20. Unity - вопросы Кнопка Gui (Android)
- 21. кнопка переключения в Gui Matlab
- 22. Текст и кнопка Python Tk GUI
- 23. TinySound и несколько кликов в GUI (кнопка)
- 24. Python Tkinter и GUI
- 25. Tkinter: maximize matplotlib Окно GUI
- 26. QML открывает окно GUI и консоль
- 27. консольное окно начинается за gui
- 28. Окно JavaFX GUI не отображается
- 29. Диалоговое окно JQuery Кнопка «Закрыть»
- 30. GUI GUI в обработке
Итак, вы говорите, что переменные, помещенные в диалоговом окне, не будут отправлены обратно в основной метод? – user276019