Передача массива из 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();
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д