Передача массива из JDialog в главный JFrame - Java

Узнай цену своей работы

Формулировка задачи:

У меня есть главний JFrame, из которого я вызываю JDialog. В нем я ввожу данные в 3 jTextField. Также в JDialog есть JBurron, по клику на который я должен передать считанные данные в главный JFrame. Подскажите пожалуйста как это реализовать. Я работаю в NetBeans.

Решение задачи: «Передача массива из JDialog в главный JFrame»

textual
Листинг программы
  1. import java.awt.Dialog;
  2. import java.awt.GridLayout;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5.  
  6. import javax.swing.JButton;
  7. import javax.swing.JDialog;
  8. import javax.swing.JFrame;
  9. import javax.swing.JTextField;
  10.  
  11. public class MainFrame extends JFrame implements ActionListener {
  12.     private static final long serialVersionUID = 1L;
  13.     private JButton callModalButton;
  14.     private String textFieldOneText;
  15.  
  16.     MainFrame() {
  17.         setSize(200, 200);
  18.         setLocationRelativeTo(null);
  19.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  20.         callModalButton = new JButton("Click");
  21.         add(callModalButton);
  22.         callModalButton.addActionListener(this);
  23.         setVisible(true);
  24.     }
  25.  
  26.     public static void main(String[] args) {
  27.         new MainFrame();
  28.     }
  29.  
  30.     @Override
  31.     public void actionPerformed(ActionEvent evnt) {
  32.         Object source = evnt.getSource();
  33.         if (source == callModalButton) {
  34.             new ModalFrame(this);
  35.             System.out
  36.                     .println("Переменная после присвоения ей значения в диалоге: "
  37.                             + textFieldOneText);
  38.         }
  39.     }
  40.  
  41.     public void setTextFieldOneText(String textFieldOneText) {
  42.         this.textFieldOneText = textFieldOneText;
  43.     }
  44.  
  45.     private class ModalFrame extends JDialog implements ActionListener {
  46.         private static final long serialVersionUID = 1L;
  47.         private MainFrame main;
  48.         private JTextField textFieldOne;
  49.         private JButton submitButton;
  50.  
  51.         ModalFrame(MainFrame main) {
  52.             super(main, Dialog.ModalityType.DOCUMENT_MODAL);
  53.             this.main = main;
  54.             setSize(200, 200);
  55.             setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
  56.             setLocationRelativeTo(main);
  57.             textFieldOne = new JTextField(10);
  58.             submitButton = new JButton("Submit");
  59.             setLayout(new GridLayout(2, 1));
  60.             add(textFieldOne);
  61.             add(submitButton);
  62.             submitButton.addActionListener(this);
  63.             setVisible(true);
  64.         }
  65.  
  66.         @Override
  67.         public void actionPerformed(ActionEvent evnt) {
  68.             Object source = evnt.getSource();
  69.             if (source == submitButton) {
  70.                 main.setTextFieldOneText(textFieldOne.getText());
  71.                 dispose();
  72.             }
  73.         }
  74.  
  75.     }
  76. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

8   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут