Java 是否可以在侦听器中定义新的侦听器?
我在eclipse上有一个swt应用程序,我想创建一个语句,比如如果没有点击x按钮,就做一些事情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
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下拉,当创建一个工具项或它们不能正常工作。你想考虑的其他按钮是如何创建的?