-1
私はバインド(Netbeans)を介して私の(別の)コントローラクラスにバインドされたJDialogを持っています。私のダイアログには「閉じる」ボタンがあります。このボタンのactionプロパティは、コントローラ内のアクションにバインドされています。Swing:コントローラからJDialogをプログラムで閉じるにはどうすればいいですか?
ダイアログ:
public class AppVersionCheckDialog extends javax.swing.JDialog {
...
binding = org.jdesktop.beansbinding.Bindings.createAutoBinding(org.jdesktop.beansbinding.AutoBinding.UpdateStrategy.READ_WRITE, controller, org.jdesktop.beansbinding.ELProperty.create("${closeButtonActionListener}"), btnOk, org.jdesktop.beansbinding.BeanProperty.create("action"));
bindingGroup.addBinding(binding);
...
}
だから基本的に私は私のコントローラで
public class AppVersionCheckDialogController extends AbstractController {
private final Action closeAction = new AbstractAction("Close") {
@Override
public void actionPerformed(ActionEvent e) {
// dialog.dispose() - no reference of dialog instance here
}
};
public Action getCloseButtonActionListener(){
return closeAction;
}
}
を得ました。
コントローラ内のダイアログへの参照はありません。そして私は、物を束ねるという全体の原則を破るので、一つを紹介したくありません。
どのようにダイアログを閉じるには?私のコントローラのプロパティにダイアログインスタンスをバインドする方法はありますか?もしそうなら、どうですか?
ダイアログはどこに定義されていますか?今までどこでも –
私は2つのクラスを持っています:コントローラーをBeanとして含むダイアログ、およびダイアログへの参照を持たないコントローラー。 – gorootde
コードを投稿してください –