-1
我已經通過bean綁定(Netbeans)綁定到我的(單獨)控制器類的JDialog。我的對話框有一個「關閉」按鈕。此按鈕的操作屬性綁定到我的控制器中的操作。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;
}
}
。
我沒有任何參考控制器內的對話框。我不想介紹一個,因爲它打破了將事物捆綁在一起的整個原則。
那麼如何關閉對話框呢?有沒有辦法將對話框實例綁定到我的控制器的屬性?如果是這樣,怎麼樣?
哪裏定義了對話框? –
直到現在都沒有。我有兩個類:包含作爲bean的控制器的對話框和沒有任何對話框引用的控制器。 – gorootde
請發送代碼 –