!7 !include once #1016163 // JxBrowser with tabs sclass JavaChrome extends DynModule { transient BrowserContext browserContext; transient TabbedPane tabbedPane; void start { // Solve protection domain problem // dm_initClass(java.util.prefs.FileSystemPreferences.class); setModuleName("Java Chrome - based on JxBrowser"); jxBrowser_init(); L existingInstances = dm_modulesOfType('JavaChrome); existingInstances.remove(this); if (nempty(existingInstances)) { browserContext = (BrowserContext) get(first(existingInstances), 'browserContext); print("Using existing browser context: " + browserContext); } else browserContext = jxBrowserStandardContext(); } JComponent visualize() { ret swing(func -> JComponent { tabbedPane = new TabbedPane(browserContext); tabbedPane.addAndSelectTab(TabFactory.createTab(browserContext, "http://BotCompany.de")); ret tabbedPane; }); } void unvisualize() { if (tabbedPane != null) tabbedPane.disposeAllTabs(); tabbedPane = null; } }