Search in sources :

Example 41 with Engine

use of com.teamdev.jxbrowser.engine.Engine in project JxBrowser-Examples by TeamDev-IP.

the class XPath method main.

public static void main(String[] args) {
    Engine engine = Engine.newInstance(OFF_SCREEN);
    Browser browser = engine.newBrowser();
    SwingUtilities.invokeLater(() -> {
        BrowserView view = BrowserView.newInstance(browser);
        JFrame frame = new JFrame("Evaluate XPath");
        frame.getContentPane().add(view, BorderLayout.CENTER);
        frame.setSize(800, 600);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    });
    Navigation navigation = browser.navigation();
    navigation.on(FrameLoadFinished.class, event -> event.frame().document().flatMap(Document::documentElement).ifPresent(element -> {
        try {
            XPathResult result = element.evaluate("count(//div)");
            if (result.isNumber()) {
                System.out.println("Result: " + result.asNumber());
            }
        } catch (XPathException e) {
            System.out.println(e.getMessage());
        }
    }));
    navigation.loadUrl("https://www.teamdev.com/jxbrowser");
}
Also used : XPathResult(com.teamdev.jxbrowser.dom.XPathResult) Navigation(com.teamdev.jxbrowser.navigation.Navigation) SwingUtilities(javax.swing.SwingUtilities) FrameLoadFinished(com.teamdev.jxbrowser.navigation.event.FrameLoadFinished) Document(com.teamdev.jxbrowser.dom.Document) OFF_SCREEN(com.teamdev.jxbrowser.engine.RenderingMode.OFF_SCREEN) Browser(com.teamdev.jxbrowser.browser.Browser) XPathException(com.teamdev.jxbrowser.dom.XPathException) BorderLayout(java.awt.BorderLayout) JFrame(javax.swing.JFrame) BrowserView(com.teamdev.jxbrowser.view.swing.BrowserView) Engine(com.teamdev.jxbrowser.engine.Engine) Navigation(com.teamdev.jxbrowser.navigation.Navigation) JFrame(javax.swing.JFrame) XPathException(com.teamdev.jxbrowser.dom.XPathException) BrowserView(com.teamdev.jxbrowser.view.swing.BrowserView) XPathResult(com.teamdev.jxbrowser.dom.XPathResult) Document(com.teamdev.jxbrowser.dom.Document) Engine(com.teamdev.jxbrowser.engine.Engine) Browser(com.teamdev.jxbrowser.browser.Browser)

Example 42 with Engine

use of com.teamdev.jxbrowser.engine.Engine in project JxBrowser-Examples by TeamDev-IP.

the class ZoomLevel method main.

public static void main(String[] args) {
    Engine engine = Engine.newInstance(HARDWARE_ACCELERATED);
    Browser browser = engine.newBrowser();
    SwingUtilities.invokeLater(() -> {
        BrowserView view = BrowserView.newInstance(browser);
        JFrame frame = new JFrame("Change Zoom Level");
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.add(view, BorderLayout.CENTER);
        frame.setSize(700, 500);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    });
    // Listen to the zoom changed events.
    ZoomLevels levels = engine.zoomLevels();
    levels.on(ZoomLevelChanged.class, event -> System.out.println("Url: " + event.host() + "\n" + "Zoom level: " + event.level()));
    Navigation navigation = browser.navigation();
    navigation.on(FrameLoadFinished.class, event -> {
        if (event.frame().isMain()) {
            browser.zoom().level(com.teamdev.jxbrowser.zoom.ZoomLevel.P_200);
        }
    });
    navigation.loadUrl("https://www.google.com");
}
Also used : Navigation(com.teamdev.jxbrowser.navigation.Navigation) JFrame(javax.swing.JFrame) BrowserView(com.teamdev.jxbrowser.view.swing.BrowserView) ZoomLevels(com.teamdev.jxbrowser.zoom.ZoomLevels) Engine(com.teamdev.jxbrowser.engine.Engine) Browser(com.teamdev.jxbrowser.browser.Browser)

Example 43 with Engine

use of com.teamdev.jxbrowser.engine.Engine in project JxBrowser-Examples by TeamDev-IP.

the class BrowserViewInJFxPanel method main.

public static void main(String[] args) {
    Engine engine = Engine.newInstance(OFF_SCREEN);
    Browser browser = engine.newBrowser();
    JFXPanel panel = new JFXPanel();
    Platform.runLater(() -> {
        BrowserView view = BrowserView.newInstance(browser);
        panel.setScene(new Scene(view));
    });
    SwingUtilities.invokeLater(() -> {
        JFrame frame = new JFrame("JavaFX BrowserView in Swing app");
        frame.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        frame.add(panel, BorderLayout.CENTER);
        frame.setSize(700, 500);
        frame.setLocationRelativeTo(null);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
    });
    browser.navigation().loadUrl("https://www.google.com");
}
Also used : JFXPanel(javafx.embed.swing.JFXPanel) JFrame(javax.swing.JFrame) BrowserView(com.teamdev.jxbrowser.view.javafx.BrowserView) Scene(javafx.scene.Scene) Engine(com.teamdev.jxbrowser.engine.Engine) Browser(com.teamdev.jxbrowser.browser.Browser)

Example 44 with Engine

use of com.teamdev.jxbrowser.engine.Engine in project JxBrowser-Examples by TeamDev-IP.

the class BrowserViewInTabPane method start.

@Override
public void start(Stage primaryStage) {
    Engine engine = Engine.newInstance(OFF_SCREEN);
    Browser browserOne = engine.newBrowser();
    browserOne.navigation().loadUrl("https://www.google.com");
    BrowserView viewOne = BrowserView.newInstance(browserOne);
    Tab tabOne = new Tab("Browser One");
    tabOne.setContent(viewOne);
    Browser browserTwo = engine.newBrowser();
    browserTwo.navigation().loadUrl("https://www.teamdev.com");
    BrowserView viewTwo = BrowserView.newInstance(browserTwo);
    Tab tabTwo = new Tab("Browser Two");
    tabTwo.setContent(viewTwo);
    TabPane tabPane = new TabPane();
    tabPane.getTabs().add(tabOne);
    tabPane.getTabs().add(tabTwo);
    Group root = new Group();
    Scene scene = new Scene(root, 700, 500);
    BorderPane pane = new BorderPane();
    pane.prefHeightProperty().bind(scene.heightProperty());
    pane.prefWidthProperty().bind(scene.widthProperty());
    pane.setCenter(tabPane);
    root.getChildren().add(pane);
    primaryStage.setTitle("Browser View In Tab Pane");
    primaryStage.setScene(scene);
    primaryStage.show();
}
Also used : TabPane(javafx.scene.control.TabPane) Group(javafx.scene.Group) BorderPane(javafx.scene.layout.BorderPane) Tab(javafx.scene.control.Tab) BrowserView(com.teamdev.jxbrowser.view.javafx.BrowserView) Scene(javafx.scene.Scene) Engine(com.teamdev.jxbrowser.engine.Engine) Browser(com.teamdev.jxbrowser.browser.Browser)

Example 45 with Engine

use of com.teamdev.jxbrowser.engine.Engine in project JxBrowser-Examples by TeamDev-IP.

the class JavaFxBrowserView method start.

@Override
public void start(final Stage primaryStage) {
    Engine engine = Engine.newInstance(OFF_SCREEN);
    Browser browser = engine.newBrowser();
    BrowserView view = BrowserView.newInstance(browser);
    Scene scene = new Scene(new BorderPane(view), 700, 500);
    primaryStage.setTitle("JavaFx BrowserView");
    primaryStage.setScene(scene);
    primaryStage.show();
    browser.navigation().loadUrl("https://www.google.com");
}
Also used : BorderPane(javafx.scene.layout.BorderPane) BrowserView(com.teamdev.jxbrowser.view.javafx.BrowserView) Scene(javafx.scene.Scene) Engine(com.teamdev.jxbrowser.engine.Engine) Browser(com.teamdev.jxbrowser.browser.Browser)

Aggregations

Browser (com.teamdev.jxbrowser.browser.Browser)70 Engine (com.teamdev.jxbrowser.engine.Engine)70 JFrame (javax.swing.JFrame)50 BrowserView (com.teamdev.jxbrowser.view.swing.BrowserView)46 BorderLayout (java.awt.BorderLayout)8 HARDWARE_ACCELERATED (com.teamdev.jxbrowser.engine.RenderingMode.HARDWARE_ACCELERATED)7 SwingUtilities (javax.swing.SwingUtilities)7 WindowConstants (javax.swing.WindowConstants)7 EngineOptions (com.teamdev.jxbrowser.engine.EngineOptions)6 Document (com.teamdev.jxbrowser.dom.Document)5 Frame (com.teamdev.jxbrowser.frame.Frame)5 JsObject (com.teamdev.jxbrowser.js.JsObject)5 FrameLoadFinished (com.teamdev.jxbrowser.navigation.event.FrameLoadFinished)5 WindowAdapter (java.awt.event.WindowAdapter)4 WindowEvent (java.awt.event.WindowEvent)4 OFF_SCREEN (com.teamdev.jxbrowser.engine.RenderingMode.OFF_SCREEN)3 Navigation (com.teamdev.jxbrowser.navigation.Navigation)3 Bitmap (com.teamdev.jxbrowser.ui.Bitmap)3 BrowserView (com.teamdev.jxbrowser.view.javafx.BrowserView)3 BrowserView (com.teamdev.jxbrowser.view.swt.BrowserView)3