Java 单击另一个按钮,在SWT中处理SelectionListener
我有一个代码,它向SWT外壳添加了四个复选框按钮,我向复选框按钮添加了选择侦听器,我想在单击SWT外壳的“确定”、“取消”和“关闭”按钮时删除这些按钮,我如何处理此类事件,这是我的代码Java 单击另一个按钮,在SWT中处理SelectionListener,java,swt,Java,Swt,我有一个代码,它向SWT外壳添加了四个复选框按钮,我向复选框按钮添加了选择侦听器,我想在单击SWT外壳的“确定”、“取消”和“关闭”按钮时删除这些按钮,我如何处理此类事件,这是我的代码 grpVersionTreeComponents.setLayoutData(componentsRenderer.createGridData(490, 220, 4)); for(int versionCount = 0; versionCount < versionSplitt
grpVersionTreeComponents.setLayoutData(componentsRenderer.createGridData(490, 220, 4));
for(int versionCount = 0; versionCount < versionSplitters.length ; versionCount++ ){
String splitter= versionSplitters[versionCount];
Button cbVersionSplitter = new CheckBoxWrapper().getButton(grpVersionTreeComponents,splitter.toString() , "");
cbVersionSplitter.setEnabled(true);
versionSplitterCheckBoxList.add(cbVersionSplitter);
versionSplitterCheckBoxList.get(versionCount).addSelectionListener(addSplitterCheckBoxListner(cbVersionSplitter));
}
“确定”和“取消”按钮以这种方式添加
private void addOkCancelButtonOnVersionTreePopup(final Shell versionTreeComponentsShell){
Button ok = componentsRenderer.createButtonWidget(versionTreeComponentsShell, SWT.PUSH,
PropertyClass.getPropertyLabel(QTLConstants.OK_BUTTON));
Button cancel = componentsRenderer.createButtonWidget(versionTreeComponentsShell, SWT.PUSH,
PropertyClass.getPropertyLabel(QTLConstants.CANCEL_BUTTON));
ok.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
}
});
}
cancel.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
/*disposeSelectionListener(cbVersionSplitter);*/
versionTreeComponentsShell.close();
}
});
}
}
那么,如何删除此选择侦听器
关于您可以执行以下操作:
@Override
public boolean equals(Object other) {
if (other == null) {
return false;
}
if (other instanceof MyOwnSelectionAdapter) {
return true;
}
}
1) 。创建将扩展选择适配器的类
2) 。重写widgetSelected()
方法,就像您在代码中所做的那样
3) 。使用以下内容覆盖equals(Object other)
方法:
@Override
public boolean equals(Object other) {
if (other == null) {
return false;
}
if (other instanceof MyOwnSelectionAdapter) {
return true;
}
}
其中MyOwnSelectionAdapter
是您自己的SelectionAdapter
实现
4) 。现在您可以执行以下操作:cancel.removeSelectionListener(新建MyOwnSelectionAdapter())
将删除该选择侦听器