是否可以在侦听器中定义新的侦听器?

时间:2015-05-14 07:07:28

标签: java button swt listener

我在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
        }
    });

0 个答案:

没有答案