WEB-BROWSER
A Web-Browser control allows you to embed a native web browser to the screen.
When the focus is on a Web-Browser some keys are trapped by the control and can’t be used to interrupt the ACCEPT of the screen. Two typical examples are the ESC key (caught by the browser as "stop loading" command) and the F5 key (caught by the browser as "refresh" command).
Web-Browser implementations
The Web-Browser control is implemented through third party products that isCOBOL is able to interface. The Web-Browser implementation is controlled by the iscobol.gui.webbrowser.class configuration property.
DJWebBrowser
This is the default implementation, based on the DJ project.
The necessary libraries are distributed along with isCOBOL, so no particular action is required in order to use this browser. This browser is suitable for most needs, from browsing the internet to exploring disc folders. It’s also able to display PDF documents, like a normal web-browser. There are two cons:
at the first display of a Web-Browser, a peer JVM is created to manage the native part,
if the focus is captured by a field in the web page (e.g. Google’s search field), it’s not possible to give the focus to another input control of the Screen Section.
JFXWebBrowser
This is an alternative implementation, based on the JavaFX’s WebView control.
JavaFX was included in the Java Virtual Machine until version 8. Later Java versions don’t include JavaFX anymore, so it must be installed separately. You can download the JavaFX distribution for your platform from https://gluonhq.com/products/javafx.
The easiest way to make JavaFx libraries available for isCOBOL is by copying all the jars of the "lib" folder of the JavaFX SDK to the "jars" folder of the isCOBOL SDK.
In a thin client environment JavaFX is required client side.
The JavaFX implementation is not a real web-browser, it's a web-view component that interpretes HTML, DOM, CSS and JavaScript content. Therefore there are some limitations if you compare it with a real web-browser, for example:
browsing disc folders is not supported
non-html documents like PDFs, doc and xls are not shown
mailto: and ftp: protocols are not supported
 
In addition, with this implementation the MSG-WB-BEFORE-NAVIGATE and MSG-WB-NAVIGATE-COMPLETE events are never fired.
On the other hand, this is also the most lightweight browser implementation, so, if you’re OK with the above limitations, you should choose JavaFx.
JXWebBrowser
This is an alternative implementation, based on JxBrowser.
JxBrowser is a commercial product and requires a valid license in order to work. The license code can be passed after the class name in the iscobol.gui.webbrowser.class setting as follows:
iscobol.gui.webbrowser.class=com.iscobol.browser.jx.JXWebBrowser?licenseKey=<your_license_code_here>
JxBrowser libraries must be downloaded separately and made available to isCOBOL.
You can download the latest JxBrowser at https://www.teamdev.com/jxbrowser. Note that isCOBOL supports only JxBrowser version 7.8 or later.
The easiest way to make JxBrowser libraries available for isCOBOL is by copying all the jars of the "lib" folder of the JxBrowser’s zip archive to the "jars" folder of the isCOBOL SDK.
In a thin client environment JxBrowser is required client side.
This is the most powerful web-browser implementation available.