パラメータを取得する入力フレーム(子)を作成するjframe(親)があります。
「子」フレームには、「OK」と「キャンセル」ボタンがあります。
「OK」ボタンを押すと、親フレームを新しいデータで更新する必要があります。
それを行うための最良の方法は何ですか??
子フレームを作成 (または表示) するときに、親フレームへの参照を渡します。これには、オーバーロードされたコンストラクターまたは表示メソッドが必要です。
子が参照を取得すると、もちろん、UpdateDate() など、親が public として公開する任意のメソッドを呼び出すことができます。
すべてのフレーム/ダイアログに「launch()」メソッドを配置するのが好きです。適切なモダリティを使用すると、結果を返すことができます。
ダイアログからの戻り値の例:
private static class MyDialog extends JDialog {
String result;
private JButton btnOk = new JButton("OK");
public MyDialog() {
setDefaultCloseOperation(DISPOSE_ON_CLOSE);
setModalityType(ModalityType.APPLICATION_MODAL);
add(btnOk);
btnOk.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
result = "Ok";
setVisible(false);
}
});
}
public String launch() {
result = "Cancel";
pack();
setVisible(true);
return result;
}
}
JFrame に ActionListener を実装させ、addActionListener を使用してそれをボタンに追加することができます。