Я сталкиваюсь с этой проблемой, когда мне кажется невозможным передавать данные из дочернего фрейма в родительский фрейм. Однако я могу передавать данные из родительского фрейма в дочерний.Я пытался найти решение, но безрезультатно.Вопрос в том, можно ли вообще передавать данные от ребенка к родителю?
Я создаю свой собственный указатель даты на свинге, и после того, как пользователь нажал на кнопку с определенной датой, он вернется к предыдущему кадру и введет его в качестве метки.Тем не менее, я пытаюсь понять с самого начала, и я сделал простой пример парсинга данных от родителя к ребенку ниже объяснения.но сделать это наоборот, от ребенка обратно к родителям, кажется невозможным.
![enter image description here](https://i.stack.imgur.com/crSOn.png)
public class dataparse {
public void mainFrame() {
JFrame frame = new JFrame(" Parent Frame ");
JPanel center = new JPanel();
JButton enter = new JButton("Enter");
JTextField text = new JTextField();
frame.setSize(400, 400);
center.setLayout(new GridLayout(0, 1));
center.add(text);
center.add(enter);
frame.add(center, BorderLayout.CENTER);
enter.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
String value = text.getText();
getData(value);
}
});
frame.setVisible(true);
}
public void getData(String getData) {
JFrame frame = new JFrame(" Child Frame ");
JPanel center = new JPanel();
JButton enter = new JButton("Save");
JTextField data = new JTextField("2");
JLabel result = new JLabel(getData);
frame.setSize(400, 400);
center.setLayout(new GridLayout(0, 1));
center.add(result);
center.add(enter);
frame.add(center, BorderLayout.CENTER);
frame.setVisible(true);
}
}
Код работает отлично, как описано.Если в сценарии у «Дочернего фрейма» есть textField, и после того, как пользователь нажал кнопку «Сохранить».как применить его обратно к родительскому фрейму?
Заранее спасибо.:)
Обновление
Лучшая практика, которую я нашел для анализа данных, - использовать JDialog вместо фрейма.После применения хороших методов работы с кодом я обнаружил, что использование большего количества JFrames может привести к сбою всего приложения.В моем случае, как я анализирую свои данные от потомка до родителя, используя JDialog.:)