如图,请问红框位置的内容信息如何获取,能不能全局都能拿到之类的
比如我打开一个平面可以去查询有没有已经开打的,或者是动态跳转到某一页,或者指定关闭等
如图,请问红框位置的内容信息如何获取,能不能全局都能拿到之类的
比如我打开一个平面可以去查询有没有已经开打的,或者是动态跳转到某一页,或者指定关闭等
用下面的方法获取 TabSheetBehaviour
,然后就可以用来处理主窗口的 tab了
@Inject
private Screens screens;
@Subscribe
public void onInit(InitEvent event) {
Screen rootScreen = screens.getOpenedScreens().getRootScreenOrNull();
if (rootScreen != null) {
Component workAreaComponent = rootScreen.getWindow().getComponent("workArea");
if (workAreaComponent instanceof AppWorkArea) {
TabSheetBehaviour tabSheet = ((WebAppWorkArea) workAreaComponent).getTabbedWindowContainer().getTabSheetBehaviour();
//... 用 tabSheet 处理主窗口 tabs
}
}
}
@Inject
private AppWorkArea workArea;
容我试一下,谢谢
现在就是想获取一下当前选中 的tab页。。但是 一直获取不到 得到一个标识或者id就行 永远判断当前页面。。。
参考下面代码:
TabWindowContainer windowContainer = (TabWindowContainer) tabSheet.getSelectedTab();
List<com.vaadin.ui.Component> tabs = new ArrayList<>(); // 所有的 tabs
tabSheet.getTabComponents().forEachRemaining(tabs::add);
log.info(windowContainer.getBreadCrumbs().getCurrentWindow().getId()); // tab id
log.info("" + tabs.indexOf(windowContainer));// 当前选中的 tab index
tabSheet.setSelectedTab(tabs.get(0)); // 设置选中的 tab
感激不尽,技艺不精。。。这个写法我确实想不到。。。感谢解答!