У меня есть мой главный JFrame и еще один JDialog. Если пользователь нажмет на кнопку, я хочу, чтобы JDialog вызывал метод из этого JFrame (который содержит некоторые операции над ComboBox в этом JFrame). Как я могу это сделать? Я не хочу использовать MyJFrame form = new MyJFrame(); потому что он сделает новый JFrame, который я не хочу делать, я хочу вызвать метод из JFrame, который работает в настоящее время на моем компьютере. Спасибо.Как получить доступ к методу JFrame из JDialog?
ответ
Возможно, JOptionPane.showInputDialog()
, показать JDialog для ввода данных от пользователя.
Предполагая, что JButton
находится на JDialog
.
Если оба находятся в одном классе, почему бы просто не сделать это?
button.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//I just got clicked
form.doSomething();
}
});
, который может быть сокращен до
button.addActionListener(e -> form.doSomething());
Если они не являются, и вы расширяете JDialog
(который я бы не рекомендовал) просто передать JFrame
в конструкторе, то ваш диалог будет иметь доступ к нему.
Невозможно добавить гораздо больше, не видя больше своего кода.
На самом деле ... это не так. В пакете «Просмотр» есть JFrame и JDialog, потому что программа основана на MVC. Это не так просто ...; p – Persantarus
@Persantarus вы расширяете 'JDialog' во втором классе? Пройдите свой 'MyJFrame' в своем конструкторе и использовать это – Moira
java.awt.EventQueue.invokeLater (новый Runnable() { общественных недействительный запуска() { нового JDialog (форма) .setVisible (истина); } }); <- Это дает мне ошибку "нестатическая переменная формы не может быть указана из статического контекста". Я создал переменную частную форму JFrame и в конструкторе this.form = form; – Persantarus
- 1. JDialog: Доступ к Jframe при активном Jdialog
- 2. Как я могу получить доступ к методу владельца JFrame в JDialog
- 3. Доступ к JPanel на JFrame из открытого JDialog
- 4. Получить значение из JDialog родителю JFrame
- 5. Как открыть JDialog из JFrame
- 6. Доступ к апплетам Информация JDialog
- 7. Как получить доступ к методу?
- 8. JDialog перед его родителем JFrame
- 9. Доступ к JTextArea текст родительского JDialog из другого JDialog
- 10. Обфускация JFrame открытие JDialog
- 11. JFrame-JDialog связь
- 12. Доступ к методу из JSTL
- 13. Как получить доступ к методу MembershipProvider.GetPassword
- 14. JFrame вести себя как JDialog?
- 15. Как вставить JDialog в JFrame?
- 16. Как получить доступ к закрытому методу
- 17. Изменить jFrame на jDialog?
- 18. Как можно получить доступ к методу NotificationListenerService?
- 19. JDialog логин с JFrame
- 20. Как получить доступ к методу из фрагмента из другого класса?
- 21. Как получить доступ к методу из app.component из другого компонента?
- 22. Доступ к одному экземпляру jdialog из другого класса java
- 23. Несколько JFrame или JDialog
- 24. JFrame & JDialog link
- 25. Как получить доступ к модели-методу?
- 26. Как получить доступ к методу вне проекта
- 27. Как получить доступ к частной собственности/методу?
- 28. Как получить доступ к методу replace() Doctrine?
- 29. Как позвонить/получить доступ к методу singleton?
- 30. Как получить доступ к блоку, переданному методу?
К сожалению, я не могу этого сделать. У моего JDialog есть несколько ComboBoxes, TextArea и т. Д. ... Мне невозможно сделать InputDialog, как вы сказали. Ну ... возможно, это возможно, но у меня будет гораздо больше работы на взгляд на эту JOptionPane. – Persantarus