These are online courses outside the o7planning website that we introduced, which may include free or discounted courses. JavaFX Programming Tutorials. The current implementation JavaFX 2. The WebEngine class provides basic web page functionality. It supports user interaction such as navigating links and submitting HTML forms, although it does not interact with users directly.

Author:Nekasa Mooguk
Country:Moldova, Republic of
Language:English (Spanish)
Published (Last):26 December 2012
PDF File Size:10.20 Mb
ePub File Size:15.44 Mb
Price:Free* [*Free Regsitration Required]

Alla is a technical writer for Oracle. She lives in St. Prior to her assignment at Oracle, she worked as a technical writer in different IT companies. Send us feedback about this document. If you have questions about JavaFX, please go to the forum. This chapter introduces the JavaFX embedded browser, a user interface component that provides a web viewer and full browsing functionality through its API.

The embedded browser component is based on WebKit , an open source web browser engine. The embedded browser inherits all fields and methods from the Node class, and therefore, it has all its features. The classes that constitute the embedded browser reside in the javafx. Figure 1 shows the architecture of the embedded browser and how it relates to other JavaFX classes. The WebEngine class provides basic web page functionality.

It supports user interaction such as navigating links and submitting HTML forms, although it does not interact with users directly. The WebEngine class handles one web page at a time. Two constructors enable you to create a WebEngine object: an empty constructor and a constructor with the specified URL. If you instantiate an empty constructor, the URL can be passed to a WebEngine object through the load method.

User style sheets replace the default styles on the pages rendered in this WebEngine instance with user-defined ones. The WebView class is an extension of the Node class.

It encapsulates a WebEngine object, incorporates HTML content into an application's scene, and provides properties and methods to apply effects and transformations. The getEngine method called on a WebView object returns a web engine associated with it. Example 1 shows the typical way to create WebView and WebEngine objects in your application. The PopupFeatures class describes the features of a web pop-up window as defined by the JavaScript specification.

When you need to open a new browser window in your application, the instances of this class are passed into pop-up handlers registered on a WebEngine object by using the setCreatePopupHandler method as shown in Example 2. If the method returns the web engine of the same WebView object, the target document is opened in the same browser window. To open the target document in another window, specify the WebEngine object of another web view. When you need to block the pop-up windows, return the null value.

The WebViewSample class of the application creates the scene and adds a Browser object to the scene. Example 3 shows how to add the WebView component to the application scene. In this code, the web engine loads a URL that points to the Oracle corporate web site. The WebView object that contains this web engine is added to the application scene by using the getChildren and add methods.

The createSpacer , layoutChildren , computePrefWidth , and computePrefHeight methods perform layout of the WebView object and the control elements in the application toolbar. When you add, compile, and run this code fragment, it produces the application window shown in Figure 2. Add a toolbar with four Hyperlink objects to switch between different Oracle web resources. Study the modified code of the Browser class shown in Example 4.

It adds URLs for alternative web resources including Oracle products, blogs, Java documentation, and the partner network. The code fragment also creates a toolbar and adds the hyperlinks to it.

This code uses a for loop to create the hyperlinks. The setOnAction method defines the behavior of the hyperlinks. When a user clicks a link, the corresponding URL value is passed to the load method of the webEngine.

When you compile and run the modified application, the application window changes as shown in Figure 3. The WebEngine class provides the executeScript method to run a particular JavaScript command for the document currently loaded into the browser.

The modified application code in Example 5 creates an additional button to hide and show the Java SE documentation for the previous releases. The button is added to the toolbar only when the Documentation page is selected.

Loading always happens on a background thread. Methods that initiate loading return immediately after scheduling a background job. The getLoadWorker method provides an instance of the Worker interface to track the loading progress. When the user clicks the Toggle Previous Doc button, the executeScript method runs the toggleDisplay JavaScript function for the Documentation page, and the documents for the previous Java releases appear, as shown in Figure 5.

When the user performs another click, the toggleDisplay function hides the lists of the documents. After that, you can call public methods and access public fields of this object from JavaScript. For the WebViewSample application, you create the Help toolbar item that leads to the help. By clicking the Exit the Application link in the help. Modify the application, as shown in Example 7 , to implement this functionality.

Examine the bold lines in Example 7. The exit method of the JavaApp interface is public; therefore, it can be accessed externally. When this method is called, it causes the JavaFX application to terminate. It becomes known to JavaScript under the name window.

See Example 8 to evaluate how this call is implemented in the help. When you compile and run the WebViewSample application, the new icon appears, as shown in Figure 6. Click Help to load the help. Examine the content of the file, then click the Exit the Application link, shown in Figure 7 , to close the WebViewSample application.

You can set an alternative WebView object for the documents that will be opened in a separate window. Figure 8 shows a context menu a user can open by right-clicking any link.

To specify a new browser window for the target document, use the PopupFeatures instance as shown in the modified application code in Example 9. When a user selects the Open option from the pop-up window, the smallView browser is added to the application toolbar. This behavior is defined by the setCreatePopupHandler method, which returns the web engine of an alternative browser to notify the application where to render the target page.

The result of compiling and running the modified application is shown in Figure 9. Note that context menus are enabled by default for all WebView objects. To disable a context menu for a particular WebView instance, pass the false value to the setContextMenuEnabled method: browser.

You can obtain the list of visited pages by using the WebHistory class. It represents a session history associated with a WebEngine object. Use the WebEngine. The history is basically a list of entries. Each entry represents a visited page and it provides access to relevant page info, such as URL, title, and the date the page was last visited. The list can be obtained by using the getEntries method. The history list changes as users navigate through the web. You typically use a standard or custom UI control to display the history list.

Example 10 shows how to obtain a history items and present them in the ComboBox control. When users select any item in the combo box, the web engine is navigated to the URL defined by the history entry item, which position in the list is defined by the offset value. A negative offset value specifies the position preceding the current entry, and a positive offset value specifies the position following the current entry. When you compile and run the application, it produces the window shown in Figure In your JavaFX application, you can implement browser tabs by using the TabPane class and create a new WebView object when a user adds a new tab.

To further enhance this application, you can apply effects, transformations and animated transitions, and even add more WebView instances. Release: JavaFX 2. We Welcome Your Comments Send us feedback about this document. Embedded Browser API The embedded browser inherits all fields and methods from the Node class, and therefore, it has all its features.

Example 3 Creating a Browser import javafx. Application; import javafx. HPos; import javafx. VPos; import javafx. Node; import javafx. Scene; import javafx. HBox; import javafx. Priority; import javafx. Region; import javafx. Color; import javafx. WebEngine; import javafx.

WebView; import javafx. Example 4 Creating a Toolbar import javafx. ActionEvent; import javafx. EventHandler; import javafx.


JavaFX Tutorial - JavaFX WebView

WebView objects must be created and accessed solely from the FX thread. Since: JavaFX 2. DoubleProperty fontScale Specifies scale factor applied to font. DoubleProperty maxHeight Maximum height property. DoubleProperty maxWidth Maximum width property. DoubleProperty minHeight Minimum height property.


Release: JavaFX 2.2

WebView class is a part of JavaFX. WebView can create and manage a WebEngine and display its content. The associated WebEngine is created automatically at construction time and cannot be changed. WebView manages keyboard and mouse events and automatically adds a scrollbar to the WebView. Java Program to create a WebView and load a website, set the font scale, also set the zoom and display it on the stage: In this program we will create a WebView named webview. Now set the font size and the zoom of the object using the setFontSize and setZoom function. We will load a website on the engine by using function load.

Related Articles