List of usage examples for javafx.scene.web WebView WebView
public WebView()
From source file:utybo.branchingstorytree.swing.OpenBST.java
/** * Launch OpenBST//ww w . j av a2 s. c o m * * @param args * Arguments. The first argument is the language code to be used */ public static void main(final String[] args) { // Before we do anything, setup system properties // First one to ensure Java 9's scaling system gets out of the way System.setProperty("sun.java2d.uiScale", "1.0"); // Second one to force hardware acceleration System.setProperty("sun.java2d.opengl", "true"); LOG.info("OpenBST version " + VERSION + ", part of the BST project"); LOG.trace("[ INIT ]"); LOG.trace("Loading language files"); loadLang(args.length > 0 ? args[0] : null); LOG.trace("Applying Look and Feel"); OpenBSTGUI.initializeLaF(); VisualsUtils.fixTextFontScaling(); LOG.trace("Loading scaling factor"); Icons.loadScalingFactor(); Splashscreen sc = Splashscreen.start(); SwingWorker<Void, String> sw = new SwingWorker<Void, String>() { @Override protected Void doInBackground() { LOG.trace("Initializing JavaFX"); publish(Lang.get("splash.init")); // Necessary - because we are killing Scenes all the time with WebViews in NodePanels, // JFX may think we just ended our application. // OpenBST exits with a dirty System.exit() anyway. Platform.setImplicitExit(false); // Initialize JavaFX new JFXPanel(); VisualsUtils.invokeJfxAndWait(() -> { // Initialize the web engine new WebEngine(); // Initialize a view new WebView(); }); LOG.info("Loading icons..."); publish(Lang.get("splash.icons")); long timeAtIconStart = System.currentTimeMillis(); Icons.load(); LOG.info("Time taken to load icons : " + (System.currentTimeMillis() - timeAtIconStart) + " ms"); LOG.info("Loading backgrounds..."); publish(Lang.get("splash.loadbg")); Icons.loadBackgrounds(); // $EXPERIMENTAL LOG.info("Caching backgrounds..."); publish(Lang.get("splash.processbg")); IMGClient.initInternal(); // $EXPERIMENTAL LOG.info("Loading internal BTS files..."); publish(Lang.get("splash.loadinternalbst")); loadInternalBSTFiles(); return null; } @Override protected void process(List<String> chunks) { String s = chunks.get(chunks.size() - 1); sc.setText(s); } }; sw.execute(); try { sw.get(); } catch (InterruptedException | ExecutionException e1) { OpenBST.LOG.error(e1); } VisualsUtils.invokeSwingAndWait(() -> { sc.setText(Lang.get("splash.launch")); sc.lock(); sc.stop(); }); LOG.trace("Launching app..."); OpenBSTGUI.launch(); VisualsUtils.invokeSwingAndWait(() -> sc.dispose()); LOG.trace("Checking versions..."); if (!"<unknown version>".equals(VERSION)) { SwingWorker<UpdateInfo, Void> worker = new SwingWorker<UpdateInfo, Void>() { @Override protected UpdateInfo doInBackground() throws Exception { URL updateInfoSite = new URL("https://utybo.github.io/BST/version.json"); UpdateInfo info = new Gson().fromJson( new InputStreamReader(updateInfoSite.openStream(), StandardCharsets.UTF_8), UpdateInfo.class); return info; } @Override protected void done() { try { UpdateInfo remoteVersion = this.get(); ComparableVersion remoteUnstable = new ComparableVersion(remoteVersion.unstable), remoteStable = new ComparableVersion(remoteVersion.stable); ComparableVersion local = new ComparableVersion(VERSION.substring(0, VERSION.length() - 1)); if (VERSION.endsWith("u")) { // Local version is unstable // Show updates to either the most recent unstable or the most recent stable if (local.compareTo(remoteStable) < 0 && remoteStable.compareTo(remoteUnstable) < 0) { // local (unstable) < stable < unstable // Give options for both unstable and stable JButton stablebtn = new JButton(Lang.get("up.moreinfostable")); stablebtn.addActionListener(e -> { VisualsUtils.browse(remoteVersion.stableurl); }); JButton unstablebtn = new JButton(Lang.get("up.moreinfounstable")); unstablebtn.addActionListener(e -> { VisualsUtils.browse(remoteVersion.unstableurl); }); OpenBSTGUI.getInstance() .addBanner(new JBannerPanel( new ImageIcon(Icons.getImage("Installing Updates", 48)), new Color(142, 255, 159), Lang.get("up.message1"), stablebtn, false, unstablebtn)); } else if (remoteStable.compareTo(local) < 0 && local.compareTo(remoteUnstable) < 0) { // stable < local (unstable) < unstable JButton unstablebtn = new JButton(Lang.get("up.moreinfo")); unstablebtn.addActionListener(e -> { VisualsUtils.browse(remoteVersion.unstableurl); }); OpenBSTGUI.getInstance().addBanner(new JBannerPanel( new ImageIcon(Icons.getImage("Installing Updates", 48)), new Color(142, 255, 159), Lang.get("up.message2"), unstablebtn, false)); } else if (remoteUnstable.compareTo(remoteStable) < 0 && local.compareTo(remoteStable) < 0) { // local (unstable) < stable // and unstable < stable JButton stablebtn = new JButton(Lang.get("up.moreinfo")); stablebtn.addActionListener(e -> { VisualsUtils.browse(remoteVersion.stableurl); }); OpenBSTGUI.getInstance().addBanner(new JBannerPanel( new ImageIcon(Icons.getImage("Installing Updates", 48)), new Color(142, 255, 159), Lang.get("up.message3"), stablebtn, false)); } } else { // If we're not running an unstable version, the only interesting case is local < stable if (local.compareTo(remoteStable) < 0) { // local (stable) < stable JButton stablebtn = new JButton(Lang.get("up.moreinfo")); stablebtn.addActionListener(e -> { VisualsUtils.browse(remoteVersion.stableurl); }); OpenBSTGUI.getInstance().addBanner(new JBannerPanel( new ImageIcon(Icons.getImage("Installing Updates", 48)), new Color(142, 255, 159), Lang.get("up.message4"), stablebtn, false)); } } } catch (InterruptedException | ExecutionException e) { LOG.warn("Failed to read update information", e); JButton showDetails = new JButton(Lang.get("up.showdetails")); showDetails.addActionListener(ev -> Messagers.showException(OpenBSTGUI.getInstance(), Lang.get("up.failedmessage"), e)); OpenBSTGUI.getInstance() .addBanner(new JBannerPanel(new ImageIcon(Icons.getImage("Cancel", 16)), new Color(255, 144, 144), Lang.get("up.failedbanner"), showDetails, false)); } } }; worker.execute(); } }
From source file:Main.java
@Override public void start(final Stage stage) { stage.setWidth(400);/* w w w .j a va2 s .c o m*/ stage.setHeight(500); Scene scene = new Scene(new Group()); final WebView browser = new WebView(); final WebEngine webEngine = browser.getEngine(); ScrollPane scrollPane = new ScrollPane(); scrollPane.setContent(browser); browser.getEngine().setOnAlert((WebEvent<String> wEvent) -> { System.out.println("Alert Event - Message: " + wEvent.getData()); }); webEngine.load("http://java2s.com"); scene.setRoot(scrollPane); stage.setScene(scene); stage.show(); }
From source file:Main.java
@Override public void start(Stage primaryStage) { vb.setId("root"); WebView browser = new WebView(); WebEngine engine = browser.getEngine(); String url = "http://java2s.com/"; engine.load(url);/*from w w w . j a v a 2s. c om*/ vb.setPadding(new Insets(30, 50, 50, 50)); vb.setSpacing(10); vb.setAlignment(Pos.CENTER); vb.getChildren().addAll(browser); Scene scene = new Scene(vb); primaryStage.setScene(scene); primaryStage.show(); }
From source file:Main.java
License:asdf
@Override public void start(Stage stage) { stage.setWidth(500);// w ww . ja va 2 s . c o m stage.setHeight(500); Scene scene = new Scene(new Group()); VBox root = new VBox(); final WebView browser = new WebView(); final WebEngine webEngine = browser.getEngine(); ScrollPane scrollPane = new ScrollPane(); scrollPane.setContent(browser); webEngine.loadContent("<b>asdf</b>"); root.getChildren().addAll(scrollPane); scene.setRoot(root); stage.setScene(scene); stage.show(); }
From source file:Main.java
License:asdf
@Override public void start(Stage stage) { stage.setWidth(500);//from w w w . j a v a2s. co m stage.setHeight(500); Scene scene = new Scene(new Group()); VBox root = new VBox(); final WebView browser = new WebView(); final WebEngine webEngine = browser.getEngine(); ScrollPane scrollPane = new ScrollPane(); scrollPane.setFitToWidth(true); scrollPane.setContent(browser); webEngine.loadContent("<b>asdf</b>"); root.getChildren().addAll(scrollPane); scene.setRoot(root); stage.setScene(scene); stage.show(); }
From source file:Main.java
License:asdf
@Override public void start(Stage stage) { stage.setTitle("HTML"); stage.setWidth(500);/* www .ja v a 2 s. com*/ stage.setHeight(500); Scene scene = new Scene(new Group()); VBox root = new VBox(); final WebView browser = new WebView(); final WebEngine webEngine = browser.getEngine(); ScrollPane scrollPane = new ScrollPane(); scrollPane.setContent(browser); webEngine.loadContent("<b>asdf</b>"); root.getChildren().addAll(scrollPane); scene.setRoot(root); stage.setScene(scene); stage.show(); }
From source file:Main.java
License:asdf
@Override public void start(Stage stage) { stage.setTitle("HTML"); stage.setWidth(500);/*from www . jav a 2 s .co m*/ stage.setHeight(500); Scene scene = new Scene(new Group()); VBox root = new VBox(); final WebView browser = new WebView(); final WebEngine webEngine = browser.getEngine(); ScrollPane scrollPane = new ScrollPane(); scrollPane.setStyle("-fx-background-color: white"); scrollPane.setContent(browser); webEngine.loadContent("<b>asdf</b>"); root.getChildren().addAll(scrollPane); scene.setRoot(root); stage.setScene(scene); stage.show(); }
From source file:Main.java
@Override public void start(Stage stage) { stage.setTitle("HTML"); stage.setWidth(500);// w ww . j av a2 s .co m stage.setHeight(500); Scene scene = new Scene(new Group()); VBox root = new VBox(); final WebView browser = new WebView(); final WebEngine webEngine = browser.getEngine(); Hyperlink hpl = new Hyperlink("java2s.com"); hpl.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent e) { webEngine.load("http://java2s.com"); } }); root.getChildren().addAll(hpl, browser); scene.setRoot(root); stage.setScene(scene); stage.show(); }
From source file:Main.java
@Override public void start(final Stage stage) { stage.setWidth(400);/*from w w w . java2 s . c om*/ stage.setHeight(500); Scene scene = new Scene(new Group()); final WebView browser = new WebView(); final WebEngine webEngine = browser.getEngine(); ScrollPane scrollPane = new ScrollPane(); scrollPane.setContent(browser); browser.getEngine().setOnAlert((WebEvent<String> wEvent) -> { System.out.println("Alert Event - Message: " + wEvent.getData()); }); webEngine.load("http://java2s.com"); final WebHistory history = webEngine.getHistory(); history.getEntries().addListener(new ListChangeListener<WebHistory.Entry>() { @Override public void onChanged(Change<? extends Entry> c) { c.next(); for (Entry e : c.getRemoved()) { System.out.println(e.getUrl()); } for (Entry e : c.getAddedSubList()) { System.out.println(e.getUrl()); } } }); history.go(0); scene.setRoot(scrollPane); stage.setScene(scene); stage.show(); }
From source file:Main.java
License:asdf
@Override public void start(final Stage stage) { stage.setTitle("HTML"); stage.setWidth(500);//w w w .java 2 s . co m stage.setHeight(500); Scene scene = new Scene(new Group()); VBox root = new VBox(); final WebView browser = new WebView(); final WebEngine webEngine = browser.getEngine(); ScrollPane scrollPane = new ScrollPane(); scrollPane.setContent(browser); webEngine.getLoadWorker().stateProperty().addListener(new ChangeListener<State>() { @Override public void changed(ObservableValue ov, State oldState, State newState) { if (newState == Worker.State.SUCCEEDED) { stage.setTitle(webEngine.getLocation()); System.out.println("called"); } } }); webEngine.load("http://javafx.com"); webEngine.loadContent("<b>asdf</b>"); root.getChildren().addAll(scrollPane); scene.setRoot(root); stage.setScene(scene); stage.show(); }