类javafx.scene.web.WebView源码实例Demo

下面列出了怎么用javafx.scene.web.WebView的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: triplea   文件: MapSelectionTest.java
@Test
void detailsButtonShowsDetails() throws Exception {
  final Node previewContainer = mock(Node.class);
  mapSelection.setPreviewContainer(previewContainer);

  final WebView previewWindow = mock(WebView.class);
  final var webEngine = mockWebEngine();
  when(previewWindow.getEngine()).thenReturn(webEngine);
  mapSelection.setPreviewWindow(previewWindow);

  final GameChooserEntry gameChooserEntry = mockGameChooserEntryWithNotes();
  mapSelection.setSelectedGame(gameChooserEntry);

  mapSelection.showDetails();

  verify(previewContainer).setVisible(true);
  verify(webEngine).loadContent(mapNotes.trim() + mapName);
}
 
源代码2 项目: AsciidocFX   文件: SlidePane.java
@PostConstruct
public void afterInit() {
    threadService.runActionLater(() -> {
        getWindow().setMember("afx", controller);
        ReadOnlyObjectProperty<Worker.State> stateProperty = webEngine().getLoadWorker().stateProperty();
        WebView popupView = new WebView();
        Stage stage = new Stage();
        stage.initModality(Modality.WINDOW_MODAL);
        stage.setScene(new Scene(popupView));
        stage.setTitle("AsciidocFX");
        InputStream logoStream = SlidePane.class.getResourceAsStream("/logo.png");
        stage.getIcons().add(new Image(logoStream));
        webEngine().setCreatePopupHandler(param -> {
            if (!stage.isShowing()) {
                stage.show();
                popupView.requestFocus();
            }
            return popupView.getEngine();
        });
        stateProperty.addListener(this::stateListener);
    });
}
 
源代码3 项目: haxademic   文件: VirtualCursor.java
public Browser(int w, int h) {
			this.w = w;
			this.h = h;
			thiss = this;
			webView = new WebView();
			webEngine = webView.getEngine();
			getChildren().add(webView);
			//apply the styles
//			getStyleClass().add("browser");
			// load the web page
			
			// load page & attach js bridge to call up to java
			P.println(webEngine.getUserAgent());
			webEngine.load("http://192.168.1.3:3333/touchless/sdk/javascript/#mode=kiosk&customerId=hovercraft&deviceId=1234567890");

			P.out("Adding js callback!");
			JSObject win = (JSObject) webEngine.executeScript("window");
			win.setMember("native", thiss);
		}
 
源代码4 项目: CodenameOne   文件: CN1CSSCLI.java
private static void startImpl(Stage stage) throws Exception {
    System.out.println("Opening JavaFX Webview to render some CSS styles");
    web = new WebView();
    web.getEngine().getLoadWorker().exceptionProperty().addListener(new ChangeListener<Throwable>() {
        @Override
        public void changed(ObservableValue<? extends Throwable> ov, Throwable t, Throwable t1) {
            System.out.println("Received exception: "+t1.getMessage());
        }
    });
    
    Scene scene = new Scene(web, 400, 800, Color.web("#666670"));
    stage.setScene(scene);
    stage.show();
    synchronized(lock) {
        lock.notify();
    }
}
 
源代码5 项目: oim-fx   文件: WebViewContextMenuTest.java
private void createContextMenu(WebView webView) {
	ContextMenu contextMenu = new ContextMenu();
	MenuItem reload = new MenuItem("Reload");
	reload.setOnAction(e -> webView.getEngine().reload());
	MenuItem savePage = new MenuItem("Save Page");
	savePage.setOnAction(e -> System.out.println("Save page..."));
	MenuItem hideImages = new MenuItem("Hide Images");
	hideImages.setOnAction(e -> System.out.println("Hide Images..."));
	contextMenu.getItems().addAll(reload, savePage, hideImages);

	webView.setOnMousePressed(e -> {
		if (e.getButton() == MouseButton.SECONDARY) {
			contextMenu.show(webView, e.getScreenX(), e.getScreenY());
		} else {
			contextMenu.hide();
		}
	});
}
 
源代码6 项目: mars-sim   文件: WebViewHyperlinkListenerDemo.java
@Override
public void start(Stage primaryStage) throws Exception {
	// controls
	WebView webView = createWebView();
	Label urlLabel = createUrlLabel();
	CheckBox listenerAttachedBox = createListenerAttachedBox();
	CheckBox cancelEventBox = createCancelEventBox();

	// listener
	WebViewHyperlinkListener listener = event -> {
		showEventOnLabel(event, urlLabel);
		return cancelEventBox.isSelected();
	};
	manageListener(webView, listener, listenerAttachedBox.selectedProperty());

	// put together
	VBox box = new VBox(webView, listenerAttachedBox, cancelEventBox, urlLabel);
	java.net.CookieHandler.setDefault(null);
	Scene scene = new Scene(box);
	primaryStage.setScene(scene);
	primaryStage.show();
}
 
源代码7 项目: JImageHash   文件: AlgorithmBenchmarker.java
/**
 * Spawn a full screen windows with a webview displaying the html content
 * 
 * @param stage       of the window
 * @param htmlContent the content to display
 */
private void spawnNewWindow(Stage stage, String htmlContent) {

	WebView webView = new WebView();
	webView.getEngine().loadContent(htmlContent);

	// Fullscreen

	Rectangle2D screen = Screen.getPrimary().getVisualBounds();

	double w = screen.getWidth();
	double h = screen.getHeight();
	Scene scene = new Scene(webView, w, h);
	stage.setTitle("Image Hash Benchmarker");
	stage.getIcons().add(new Image("imageHashLogo.png"));
	stage.setScene(scene);
	stage.show();
}
 
源代码8 项目: haxademic   文件: Demo_VirtualCursor.java
protected void initWebView() {
	// build WebView & JavaFX components on JavaFX thread
	
	// init WebView component
	// load page & attach js bridge to call up to java
	webView = new WebView();  // webView.setDisable(true);	// disable keyboard/mouse
	webEngine = webView.getEngine();
	webEngine.load("http://192.168.1.3:3333/touchless/sdk/javascript/#mode=kiosk&customerId=hovercraft&deviceId=1234567890&debug=true");
	P.println("webEngine.getUserAgent()", webEngine.getUserAgent());
	
	// init js bridge with this class as the deletage
	JSObject win = (JSObject) webEngine.executeScript("window");
	win.setMember("native", this);
	
	// add WebView to FXPanel/JFrame
	Scene scene = new Scene(webView, jframe.getWidth(), jframe.getHeight(), Color.web("#666970"));
	fxPanel.setScene(scene);
	jframe.setContentPane(fxPanel);
	
	// set special window properties
	// fxPanel.setFocusable(false);
	// fxPanel.setFocusTraversalKeysEnabled(true);
	// fxPanel.requestFocus();
	// fxPanel.requestFocusInWindow();
}
 
源代码9 项目: mars-sim   文件: WebViewHyperlinkListenerDemo.java
/**
 * Attaches/detaches the specified listener to/from the specified web view according to the specified property's
 * value.
 *
 * @param webView
 *            the {@link WebView} to which the listener will be added
 * @param listener
 *            the added listener
 * @param attachedProperty
 *            defines whether the listener is attached or not
 */
private static void manageListener(WebView webView, WebViewHyperlinkListener listener,
		BooleanProperty attachedProperty) {
	attachedProperty.set(true);
	ListenerHandle listenerHandle = WebViews.addHyperlinkListener(webView, listener);

	attachedProperty.addListener((obs, wasAttached, isAttached) -> {
		if (isAttached) {
			listenerHandle.attach();
			System.out.println("LISTENER: attached.");
		} else {
			listenerHandle.detach();
			System.out.println("LISTENER: detached.");
		}
	});
}
 
源代码10 项目: Learn-Java-12-Programming   文件: HtmlWebView.java
public void start(Stage primaryStage) {
    try {
        WebView wv = new WebView();
        WebEngine we = wv.getEngine();
        String html = "<html><center><h2>Hello, world!</h2></center></html>";
        we.loadContent(html, "text/html");

        Scene scene = new Scene(wv, 200, 60);

        primaryStage.setTitle("My HTML page");
        primaryStage.setScene(scene);
        primaryStage.onCloseRequestProperty()
                .setValue(e -> System.out.println("Bye! See you later!"));
        primaryStage.show();
    } catch (Exception ex){
        ex.printStackTrace();
    }
}
 
源代码11 项目: mars-sim   文件: DatePicker.java
private void initPicker(WebView webView) {
  // attach a handler for an alert function call which will set the DatePicker's date property.
  webView.getEngine().setOnAlert(new EventHandler<WebEvent<String>>() {
    @Override public void handle(WebEvent<String> event) {
      try { date.set(jQueryUiDateFormat.parse(event.getData())); } catch (ParseException e) { /* no action required */ }
    }
  });

  // place the webView holding the jQuery date picker inside this node.
  this.getChildren().add(webView);

  // monitor the date for changes and update the formatted date string to keep it in sync.
  date.addListener(new ChangeListener<Date>() {
    @Override public void changed(ObservableValue<? extends Date> observableValue, Date oldDate, Date newDate) {
      dateString.set(dateFormat.format(newDate));
    }
  });

  // workaround as I don't know how to size the stack to the size of the enclosed WebPane's html content.
  this.setMaxSize(330, 280);//307, 241);
}
 
源代码12 项目: SONDY   文件: GlobalUI.java
public void about(){
    final Stage stage = new Stage();
    stage.setResizable(false);
    stage.initModality(Modality.WINDOW_MODAL);
    stage.initStyle(StageStyle.UTILITY);
    stage.setTitle("About SONDY");
    WebView webView = new WebView();
    webView.getEngine().loadContent(getReferences());
    webView.setMaxWidth(Main.columnWidthLEFT);
    webView.setMinWidth(Main.columnWidthLEFT);
    webView.setMaxHeight(Main.columnWidthLEFT);
    webView.setMinHeight(Main.columnWidthLEFT);
    Scene scene = new Scene(VBoxBuilder.create().children(new Label("SONDY "+Main.version),new Label("Main developper: Adrien Guille <[email protected]>"),webView).alignment(Pos.CENTER).padding(new Insets(10)).spacing(3).build());
    scene.getStylesheets().add("resources/fr/ericlab/sondy/css/GlobalStyle.css");
    stage.setScene(scene);
    stage.show();
}
 
源代码13 项目: ReactFX   文件: DeferredHtmlRendering.java
@Override
public void start(Stage primaryStage) {
    TextArea textArea = new TextArea();
    WebView webView = new WebView();
    WebEngine engine = webView.getEngine();

    EventStreams.valuesOf(textArea.textProperty())
            .successionEnds(Duration.ofMillis(500))
            .subscribe(html -> engine.loadContent(html));

    SplitPane root = new SplitPane();
    root.getItems().addAll(textArea, webView);
    Scene scene = new Scene(root);
    primaryStage.setScene(scene);
    primaryStage.show();
}
 
源代码14 项目: marathonv5   文件: JavaFXWebViewElement.java
public static void init(Node source) {
    WebView webview = (WebView) source;
    if (webview.getProperties().get("marathon_player_installed") == null) {
        webview.getProperties().put("marathon_player_installed", Boolean.TRUE);
        WebEngine webEngine = webview.getEngine();
        if (webEngine.getLoadWorker().stateProperty().get() == State.SUCCEEDED) {
            loadScript(webview, webEngine);
        }
        webEngine.getLoadWorker().stateProperty().addListener(new ChangeListener<State>() {
            @Override
            public void changed(ObservableValue<? extends State> ov, State oldState, State newState) {
                if (newState == State.SUCCEEDED) {
                    loadScript(webview, webEngine);
                }
            }
        });
    }
}
 
源代码15 项目: marathonv5   文件: RFXWebView.java
private void init(Node source) {
    WebView webview = (WebView) source;
    if (webview.getProperties().get("marathon_listener_installed") == null) {
        webview.getProperties().put("marathon_listener_installed", Boolean.TRUE);
        WebEngine webEngine = webview.getEngine();
        if (webEngine.getLoadWorker().stateProperty().get() == State.SUCCEEDED) {
            loadScript(webview);
        }
        webEngine.getLoadWorker().stateProperty().addListener(new ChangeListener<State>() {
            @Override
            public void changed(ObservableValue<? extends State> ov, State oldState, State newState) {
                if (newState == State.SUCCEEDED) {
                    loadScript(webview);
                }
            }
        });
    }
    JavaFXWebViewElement.init(source);
}
 
源代码16 项目: mars-sim   文件: WebViewDemo.java
@Override
public void start(Stage primaryStage) {

    StackPane root = new StackPane();
    WebView x = new WebView();
    WebEngine ex = x.getEngine();
    ex.load("https://github.com/travis-ci/travis-ci");

    root.getChildren().add(x);
    java.net.CookieHandler.setDefault(null);
    Scene scene = new Scene(root, 1024, 768);

    primaryStage.setTitle("Hello World!");
    primaryStage.setScene(scene);
    primaryStage.show();
}
 
源代码17 项目: netbeans   文件: DialogsTest.java
@BeforeClass(timeOut = 9000)
public static void initializeContext() throws Exception {
    final JFXPanel p = new JFXPanel();
    final URL u = DialogsTest.class.getResource("/org/netbeans/api/htmlui/empty.html");
    Platform.runLater(new Runnable() {
        @Override
        public void run() {
            WebView v = new WebView();
            Scene s = new Scene(v);
            p.setScene(s);
            HtmlToolkit.getDefault().load(v, u, new Runnable() {
                @Override
                public void run() {
                    ctx = BrwsrCtx.findDefault(DialogsTest.class);
                    down.countDown();
                }
            }, null);
        }
    });
    down.await();
    JFrame f = new JFrame();
    f.getContentPane().add(p);
    f.pack();
    f.setVisible(true);
}
 
源代码18 项目: phoebus   文件: WelcomeInstance.java
private Node createContent()
{
    browser = new WebView();
    final WebEngine engine = browser.getEngine();

    String url = Preferences.welcome;
    if (url.isEmpty())
    {
        final URL resource = getClass().getResource("welcome.html");
        url = resource.toExternalForm();
    }
    logger.log(Level.CONFIG, "Welcome URL: " + url);
    engine.load(url);

    return browser;
}
 
源代码19 项目: phoebus   文件: HelpBrowser.java
HelpBrowser(final AppDescriptor app)
{
    this.app = app;

    browser = new WebView();
    dock_item = new DockItem(this, new BorderPane(browser))
    {
        // Add 'Web URL'
        @Override
        protected void fillInformation(final StringBuilder info)
        {
            super.fillInformation(info);
            info.append("\n");
            info.append(Messages.HelpPage).append(browser.getEngine().getLocation());
        }
    };
    dock_item.addClosedNotification(this::dispose);
    DockPane.getActiveDockPane().addTab(dock_item);

    JobManager.schedule(app.getDisplayName(), this::loadHelp);
}
 
源代码20 项目: xJavaFxTool-spring   文件: IndexService.java
/**
 * @Title: addWebView
 * @Description: 添加WebView视图
 */
public void addWebView(String title, String url, String iconPath) {
    WebView browser = new WebView();
    WebEngine webEngine = browser.getEngine();
    if (url.startsWith("http")) {
        webEngine.load(url);
    } else {
        webEngine.load(IndexController.class.getResource(url).toExternalForm());
    }
    if (indexController.getSingleWindowBootCheckBox().isSelected()) {
        JavaFxViewUtil.getNewStage(title, iconPath, new BorderPane(browser));
        return;
    }
    Tab tab = new Tab(title);
    if (StringUtils.isNotEmpty(iconPath)) {
        ImageView imageView = new ImageView(new Image(iconPath));
        imageView.setFitHeight(18);
        imageView.setFitWidth(18);
        tab.setGraphic(imageView);
    }
    tab.setContent(browser);
    indexController.getTabPaneMain().getTabs().add(tab);
    indexController.getTabPaneMain().getSelectionModel().select(tab);
}
 
源代码21 项目: jfree-fxdemos   文件: OrsonChartsFXDemo.java
private SplitPane createChartPane() {
    CategoryDataset3D dataset = SampleData.createCompanyRevenueDataset();
    Chart3D chart = AreaChart3DFXDemo1.createChart(dataset);
    Chart3DViewer viewer = new Chart3DViewer(chart);
  
    this.splitter = new SplitPane();
    splitter.setOrientation(Orientation.VERTICAL);
    final BorderPane borderPane = new BorderPane();
    borderPane.setCenter(viewer);
    
   // Bind canvas size to stack pane size.
    viewer.prefWidthProperty().bind(borderPane.widthProperty());
    viewer.prefHeightProperty().bind(borderPane.heightProperty());

    final StackPane sp2 = new StackPane();
    
    this.chartDescription = new WebView();
    WebEngine webEngine = chartDescription.getEngine();
    webEngine.load(AreaChart3DFXDemo1.class.getResource("AreaChart3DFXDemo1.html").toString());
    
    sp2.getChildren().add(chartDescription);  
    splitter.getItems().addAll(borderPane, sp2);
    splitter.setDividerPositions(0.70f, 0.30f);
    return splitter;
}
 
源代码22 项目: mars-sim   文件: Browser.java
public void loadPage(TextField textField, //ProgressBar progressBar,
		WebEngine webEngine, WebView webView) {

	String route = textField.getText();
	if (route !=null)
		if (!route.substring(0, 7).equals("http://")) {
			route = "http://" + route;
			textField.setText(route);
		}

	System.out.println("Loading route: " + route);
	//progressBar.progressProperty().bind(webEngine.getLoadWorker().progressProperty());

	webEngine.getLoadWorker().stateProperty().addListener(new ChangeListener<State>() {
		@Override
		public void changed(ObservableValue<? extends State> value,
				State oldState, State newState) {
			if(newState == State.SUCCEEDED){
				System.out.println("Location loaded + " + webEngine.getLocation());
			}
		}
	});
	webEngine.load(route);


}
 
源代码23 项目: AILibs   文件: NodeInfoGUIPluginView.java
public NodeInfoGUIPluginView(final NodeInfoGUIPluginModel model) {
	super(model, new FlowPane());
	Platform.runLater(() -> {
		WebView view = new WebView();
		FlowPane node = this.getNode();
		node.getChildren().add(view);
		this.webViewEngine = view.getEngine();
		this.webViewEngine.loadContent("<i>No node selected</i>");
	});
}
 
源代码24 项目: SubTitleSearcher   文件: ExtractDialog.java
/**
	 * 打开网址
	 * 
	 * @param url
	 */
	private void openUrl(String url) {
		com.sun.javafx.webkit.WebConsoleListener.setDefaultListener((webView, message, lineNumber, sourceId) -> {
			logger.info("from webview: " + message + " [" + sourceId + " - " + lineNumber + "]");
		});
		Platform.runLater(new Runnable() {
			@Override
			public void run() {
				
				
				webview = new WebView();
				// webview.setContextMenuEnabled(false);

				WebEngine webEngine = webview.getEngine();

				webEngine.setJavaScriptEnabled(true);
				webEngine.setOnAlert(event -> jsAlert(event.getData()));
				webEngine.setConfirmHandler(message -> jsConfirm(message));

				webEngine.setOnError(event -> {
					logger.info(event.getMessage());
				});
//				webEngine.getLoadWorker().stateProperty().addListener((ov, oldState, newState) -> {
//					
//				});
				
				webviewScene = new Scene(webview);
				bsPanel.setScene(webviewScene);
				
				initData();
				webEngine.load(url);
				webview.getEngine().executeScript("window.serverPort="+AppConfig.serverPort+"");
				
			}
		});
	}
 
源代码25 项目: mars-sim   文件: SwingFXWebView.java
/**
     * createScene
     *
     * Note: Key is that Scene needs to be created and run on "FX user thread"
     *       NOT on the AWT-EventQueue Thread
     *
     */
    @SuppressWarnings("restriction")
	private void createScene() {
//        Platform.startup(new Runnable() {
        Platform.runLater(new Runnable() {
            @Override
            public void run() {

                stage = new Stage();

                stage.setTitle("Hello Java FX");
                stage.setResizable(true);

                Group root = new Group();
                Scene scene = new Scene(root,80,20);
                stage.setScene(scene);

                // Set up the embedded browser:
                browser = new WebView();
                webEngine = browser.getEngine();
                webEngine.load("https://github.com/travis-ci/travis-ci");//https://sourceforge.net/p/mars-sim/discussion/");//"http://www.google.com");

                ObservableList<Node> children = root.getChildren();
                children.add(browser);

                jfxPanel.setScene(scene);
        }
    });
    }
 
源代码26 项目: jace   文件: IdeController.java
private Program createTab(DocumentType type, File document, boolean isBlank) {
    WebView editor = new WebView();
    Program proxy = new Program(type, globalOptions);
    proxy.initEditor(editor, document, isBlank);
    Tab t = new Tab(proxy.getName(), editor);
    tabPane.getTabs().add(t);
    openDocuments.put(t, proxy);
    t.setOnCloseRequest(this::handleCloseTabRequest);
    return proxy;
}
 
源代码27 项目: TerasologyLauncher   文件: AboutViewController.java
private Optional<WebView> createViewFor(URL url) {
    switch (Files.getFileExtension(url.getFile().toLowerCase())) {
        case "md":
        case "markdown":
            return renderMarkdown(url);
        case "htm":
        case "html":
            return renderHtml(url);
        default:
            return renderUnknown(url);
    }

}
 
源代码28 项目: zap-extensions   文件: BrowserPanel.java
private void createScene() {
    Platform.runLater(
            new Runnable() {
                @Override
                public void run() {
                    WebView view = new WebView();
                    view.setDisable(!enabled);
                    engine = view.getEngine();
                    listenToStateChangesForAdjustingPanelHeightToWebsite();
                    jfxPanel.setScene(new Scene(view));
                }
            });
}
 
源代码29 项目: pcgen   文件: RememberingChoiceDialog.java
public static Alert create(final String title,
                           final String header,
                           final String htmlContent,
                           final String checkboxContentKey,
                           final PropertyContext context,
                           final String option
)
{
	GuiAssertions.assertIsNotJavaFXThread();
	Objects.requireNonNull(title);
	Objects.requireNonNull(header);
	Objects.requireNonNull(htmlContent);
	Objects.requireNonNull(context);
	Objects.requireNonNull(option);

	Alert alert = GuiUtility.runOnJavaFXThreadNow(() -> new Alert(Alert.AlertType.INFORMATION));
	alert.setTitle(title);
	alert.setContentText(null);
	alert.setHeaderText(header);
	CheckBox showLicense = new CheckBox(LanguageBundle.getString(checkboxContentKey));
	showLicense.selectedProperty().addListener((observableValue, oldValue, newValue) ->
               context.setBoolean(option, newValue));
	showLicense.setSelected(context.getBoolean(option));
	Platform.runLater(() -> {
		WebView webView = new WebView();
		webView.getEngine().loadContent(htmlContent);
		alert.getDialogPane().setContent(webView);
	});
	alert.getDialogPane().setExpandableContent(showLicense);
	return alert;
}
 
源代码30 项目: oim-fx   文件: WebViewStyleTest.java
@Override
public void start(final Stage primaryStage) {
	primaryStage.setTitle("What World");
	
	WebView webView = new WebView();
	WebPage webPage = null;
	WebEngine webEngine = webView.getEngine();

	webEngine.getLoadWorker().stateProperty().addListener((ObservableValue<? extends State> ov, State oldState, State newState) -> {
		System.out.println("loadWorker");
		if (newState == State.SUCCEEDED) {
			JSObject window = (JSObject) webEngine.executeScript("window");
			window.setMember("app", app);
			System.out.println("app");
		}
	});

	webPage = Accessor.getPageFor(webEngine);
	webPage.setJavaScriptEnabled(true);
	webPage.setEditable(false);
	webPage.setContextMenuEnabled(false);
	webView.setFocusTraversable(true);
	webView.getEngine().load(WebViewStyleTest.class.getResource("WebViewStyleTest.html").toExternalForm());

	BorderPane bp=new BorderPane();
	Scene scene = new Scene(bp);
	scene.getStylesheets().add(this.getClass().getResource("WebView.css").toString());
	bp.setCenter(webView);
	
	primaryStage.setScene(scene);
	primaryStage.show();
}
 
 类所在包
 同包方法