gpt4 book ai didi

java - 在切换选项卡之前验证 CTabFolder

转载 作者:行者123 更新时间:2023-11-30 08:15:08 24 4
gpt4 key购买 nike

CTabFolder 中,我想在用户从一个选项卡切换到另一个选项卡之前检查未保存数据的内容。 SWT 不提供 PreSelection 事件,如所述 here .

我找到了workaround ,建议在触发选择时切换回旧选项卡,验证数据,然后在数据有效的情况下再次执行所需的切换。

我确实理解此解决方法的总体思路,但是,它对我不起作用。 oldPageIndexnewPageIndex 始终具有相同的值,尽管我没有单击同一个选项卡。

this.tabContainer.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent event) {
int oldPageIndex = tabContainer.getSelectionIndex();
int newPageIndex = tabContainer.indexOf((CTabItem)event.item);

// Here: oldPageIndex == newPageIndex

...
}
});

这个解决方法仍然有效吗?或者我可能做错了什么?或者也许,在此期间是否有针对真正的预选 Activity 的任何修复?我尝试使用 event.doit,但是当选项卡已经切换时,SelectionEvent 被触发。

最佳答案

您可以使用选择监听器,但您发现 getSelectionIndex() 不会为您提供旧选项卡。因此,您必须自己维护旧的选项卡索引。

这是 Eclipse FormEditor 使用的技术。

关于java - 在切换选项卡之前验证 CTabFolder,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29767096/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com