Отображать одну форму и возвращать текст в другую — Java

#c# #java #events #swing #netbeans

#c# #java #Мероприятия #swing #netbeans

Вопрос:

У меня есть приложение на C #, которое я конвертирую в Java, в частности, версия C # состоит из формы Windows (основная форма), которая порождает новую форму (вторичную форму) с помощью метода ShowDialog ().

Обработчик событий для кнопки (OK) во вторичной форме при нажатии на нее для DialogResult устанавливается значение OK, поэтому в основной форме я могу проверить, какой DialogResult был установлен, и получить данные из экземпляра вторичной формы через свойства.

Я использую SwingUI с NetBeans, и мне было интересно, как бы я реализовал ту же функциональность в приложении Java.

Пример:

Поле, которое должно отображаться (вторичная форма):

введите описание изображения здесь

Поведение вторичной формы:

введите описание изображения здесь

Затем простой фрагмент кода в основной форме для получения результатов:

введите описание изображения здесь

Как вы можете видеть, на самом деле для достижения этого в C # не требуется много усилий, насколько сложной задачей было бы сделать это на Java?

Спасибо за ваше время.

Ответ №1:

Диалоговое окно, которое возвращает строку:

 String s = (String)JOptionPane.showInputDialog(
                frame,
                "Complete the sentence:n"
                  ""Green eggs and..."",
                "Customized Dialog",
                JOptionPane.PLAIN_MESSAGE,
                icon,
                possibilities,
                "ham");
  

Взято из руководства по Swing Dialog. Вы можете создать более сложный диалог, создав подкласс класса JDialog и методы доступа для получения данных.

Комментарии:

1. Другой подход заключается в предоставлении JPanel содержащего элементы управления редактированием для JOptionPane.showConfirmDialog() . Если результат OK_OPTION , обновите основные поля из тех, что включены в панель редактирования.