Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 是否可以在侦听器中定义新的侦听器?_Java_Button_Swt_Listener - Fatal编程技术网

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

Java 是否可以在侦听器中定义新的侦听器?,java,button,swt,listener,Java,Button,Swt,Listener,我在eclipse上有一个swt应用程序,我想创建一个语句,比如如果没有点击x按钮,就做一些事情 btnPrint.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { //DO STUFF } }); 我知道我可以将这个btnPrint.addSelectionL

我在eclipse上有一个swt应用程序,我想创建一个语句,比如如果没有点击x按钮,就做一些事情

    btnPrint.addSelectionListener(new SelectionAdapter() {          
        public void widgetSelected(SelectionEvent e) {
            //DO STUFF    
        }
    });
我知道我可以将这个btnPrint.addSelectionListenernew SelectionAdapter{部分修改为btnPrint.addSelectionListenerSWT.Close,new SelectionAdapter{。但是,由于widgetSelected方法中有一些不同的进程,我不能这样更改它。 为了清楚起见,我希望能够创建类似于如果没有单击x按钮,在widgetSelected方法中执行一些操作,而不修改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
        }
    });

这些按钮是什么类型的按钮?工具栏中有批准、发送、打印、更新和取消按钮。我只想修改事件方法中的打印按钮。向我们展示您是如何声明/创建这些按钮的。目前这个问题非常难理解。您必须始终指定一个标志SWT.Push、SWT.Check、SWEW,SWT分隔符,或SWT下拉,当创建一个工具项或它们不能正常工作。你想考虑的其他按钮是如何创建的?