Передача массива из JDialog в главный JFrame - Java
Формулировка задачи:
У меня есть главний JFrame, из которого я вызываю JDialog. В нем я ввожу данные в 3 jTextField. Также в JDialog есть JBurron, по клику на который я должен передать считанные данные в главный JFrame. Подскажите пожалуйста как это реализовать. Я работаю в NetBeans.
Решение задачи: «Передача массива из JDialog в главный JFrame»
textual
Листинг программы
import java.awt.Dialog; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JTextField; public class MainFrame extends JFrame implements ActionListener { private static final long serialVersionUID = 1L; private JButton callModalButton; private String textFieldOneText; MainFrame() { setSize(200, 200); setLocationRelativeTo(null); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); callModalButton = new JButton("Click"); add(callModalButton); callModalButton.addActionListener(this); setVisible(true); } public static void main(String[] args) { new MainFrame(); } @Override public void actionPerformed(ActionEvent evnt) { Object source = evnt.getSource(); if (source == callModalButton) { new ModalFrame(this); System.out .println("Переменная после присвоения ей значения в диалоге: " + textFieldOneText); } } public void setTextFieldOneText(String textFieldOneText) { this.textFieldOneText = textFieldOneText; } private class ModalFrame extends JDialog implements ActionListener { private static final long serialVersionUID = 1L; private MainFrame main; private JTextField textFieldOne; private JButton submitButton; ModalFrame(MainFrame main) { super(main, Dialog.ModalityType.DOCUMENT_MODAL); this.main = main; setSize(200, 200); setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); setLocationRelativeTo(main); textFieldOne = new JTextField(10); submitButton = new JButton("Submit"); setLayout(new GridLayout(2, 1)); add(textFieldOne); add(submitButton); submitButton.addActionListener(this); setVisible(true); } @Override public void actionPerformed(ActionEvent evnt) { Object source = evnt.getSource(); if (source == submitButton) { main.setTextFieldOneText(textFieldOne.getText()); dispose(); } } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д