我在eclipse上有一个swt应用程序。我想创建一个类似“如果没有点击x按钮,做一些事情”的声明。
btnPrint.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
//DO STUFF
}
});
我知道我可以将此btnPrint.addSelectionListener(new SelectionAdapter() {
部分修改为btnPrint.addSelectionListener(SWT.Close, new SelectionAdapter() {
。但是,由于widgetSelected方法中有一些不同的进程,我无法像这样更改它。
为了清楚起见,我希望能够在widgetSelected方法中创建if(x-button未点击,执行某些操作)而不修改addSelectionListener
结构。
是否可以在具有不同结构的侦听器中添加新侦听器?
或者我该如何解决这个问题?
编辑:
更新后的代码如下:
btnPrint = new ToolItem(customToolbar, SWT.NONE);
btnPrint.setImage(ResourceManager.getPluginImage(
"com.meta.efatura.view", "icons/actions/print.jpg"));
btnPrint.setText(Messages.get().getValue("Print"));
btnPrint.addSelectionListener(new SelectionAdapter() {
public void widgetSelected(SelectionEvent e) {
//DO STUFF
}
});