-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
请发送代码 –