在 SWT 中关闭 CTabItem 时如何获得警告消息?
How to get warning message when closing CTabItem in SWT?
如何在 CTabItem
中为 SWT.CLOSE
事件添加监听器?
我已经试过了tab.addListener
但是还是不行。
我相信您正在寻找的是CTabItem.addDisposeListener(DisposeListener)
- inherited from Widget
。
例如:
final CTabFolder folder = new CTabFolder(parent, SWT.NONE);
// ...
final CTabItem item = new CTabItem(folder, SWT.NONE);
item.setText("Item 1");
item.setShowClose(true);
item.addDisposeListener(new DisposeListener() {
@Override
public void widgetDisposed(final DisposeEvent e) {
System.out.println("Closed");
}
});
如 @avojak 所述,您可以向每个选项卡项添加 DisposeListener
,以便在关闭时收到通知。
不过,CTabFolder
也提供了CTabFolder2Listener
。它的 close()
方法在 在 关闭标签项之前被调用。它甚至允许通过将事件 doit
标志设置为 false 来防止关闭选项卡。
例如:
tabFolder.addCTabFolder2Listener(new CTabFolder2Adapter() {
@Override
public void close(CTabFolderEvent event) {
event.doit = false; // disallow close
}
}
如何在 CTabItem
中为 SWT.CLOSE
事件添加监听器?
我已经试过了tab.addListener
但是还是不行。
我相信您正在寻找的是CTabItem.addDisposeListener(DisposeListener)
- inherited from Widget
。
例如:
final CTabFolder folder = new CTabFolder(parent, SWT.NONE);
// ...
final CTabItem item = new CTabItem(folder, SWT.NONE);
item.setText("Item 1");
item.setShowClose(true);
item.addDisposeListener(new DisposeListener() {
@Override
public void widgetDisposed(final DisposeEvent e) {
System.out.println("Closed");
}
});
如 @avojak 所述,您可以向每个选项卡项添加 DisposeListener
,以便在关闭时收到通知。
不过,CTabFolder
也提供了CTabFolder2Listener
。它的 close()
方法在 在 关闭标签项之前被调用。它甚至允许通过将事件 doit
标志设置为 false 来防止关闭选项卡。
例如:
tabFolder.addCTabFolder2Listener(new CTabFolder2Adapter() {
@Override
public void close(CTabFolderEvent event) {
event.doit = false; // disallow close
}
}