标签: javafx-webengine

Google Maps&JavaFX:单击JavaFX按钮后在地图上显示标记

当我点击我的JavaFX应用程序的Button时,我一直在尝试在地图上显示标记.所以当我点击该按钮时,我在JSON文件中写入该位置,该文​​件将被加载到包含该地图的html文件中.问题是当我在浏览器中打开html页面时,它工作得很好,但在JavaFX的Web视图中没有任何反应,我不知道为什么!

这是html文件:

<!DOCTYPE html>
<html>
  <head>
  <title>Simple Map</title>
  <meta name="viewport" content="initial-scale=1.0">
  <meta charset="utf-8">
  <style>
  /* Always set the map height explicitly to define the size of the div
   * element that contains the map. */
  /*#map {
    height: 100%;
  }*/
  #map{width:100%;height:100%;margin:auto;}
  /* Optional: Makes the sample page fill the window. */
  html, body {
    height: 100%;
    margin: 0;
    padding: 0;
  }
</style>
</head>
<body>
<div id="map"></div>
<script>
  var map;
  var marker;
  // Multiple Markers
  var markers = [];
  var pos …
Run Code Online (Sandbox Code Playgroud)

javascript google-maps javafx javafx-webengine

359
推荐指数
3
解决办法
4万
查看次数

JavaFX 8 WebEngine:如何在java中将console.log()从javascript导入System.out?

我在JavaFX WebEngine中使用JavaFX和javascript引擎来开发应用程序.我想从javascript获取反馈以进行调试.WebEngine中的控制台输出会发生什么?有什么办法可以访问它,或者在java中重定向到System.out吗?

webview javafx-8 javafx-webengine

17
推荐指数
3
解决办法
1万
查看次数

如何取消加载网站的webview?

我想要实现的实际上是浏览器的取消按钮,但使用JavaFX的webview.这是我到目前为止的代码:

Worker<Void> loadWorker = webView.getEngine().getLoadWorker();
if (loadWorker != null) {
    Platform.runLater(() -> loadWorker.cancel());
}
Run Code Online (Sandbox Code Playgroud)

但它有时会起作用,有时却不起作用.

取消加载页面的webview/webengine任务的正确方法是什么?

java javafx webview javafx-webengine

15
推荐指数
1
解决办法
697
查看次数

如何在java中多次调用launch()

如何在java中多次调用launch()我被赋予异常"主要错误:java.lang.IllegalStateException:不能多次调用应用程序启动"

我在我的java应用程序中创建了rest cleint,当请求到来之后调用javafx并在完成webview operarion后使用Platform.exit()方法关闭javafx窗口时打开webview.当第二个请求收到此错误时如何重新发送此错误.

JavaFx应用程序代码:

public class AppWebview extends Application  {

    public static Stage stage;

    @Override
    public void start(Stage _stage) throws Exception {

        stage = _stage;
        StackPane root = new StackPane();

        WebView view = new WebView();

        WebEngine engine = view.getEngine();
        engine.load(PaymentServerRestAPI.BROWSER_URL);
        root.getChildren().add(view);
        engine.setJavaScriptEnabled(true);
        Scene scene = new Scene(root, 800, 600);
        stage.setScene(scene);

        engine.setOnResized(new EventHandler<WebEvent<Rectangle2D>>() {
            public void handle(WebEvent<Rectangle2D> ev) {
                Rectangle2D r = ev.getData();
                stage.setWidth(r.getWidth());
                stage.setHeight(r.getHeight());
            }
        });

        JSObject window = (JSObject) engine.executeScript("window");
        window.setMember("app", new BrowserApp());

        stage.show();

    }

    public static void …
Run Code Online (Sandbox Code Playgroud)

java javafx javafx-webengine

12
推荐指数
3
解决办法
1万
查看次数

JavaFx在不使用JxBrowser插件的情况下在Popup中查看pdf

我正在尝试开发一个javafx webview浏览器.我有一个用PHP开发的网站,我需要通过javafx网络浏览器显示.弹出窗口浏览器窗口是使用javascript window.load()函数生成的,pdf的内容是base64格式.

以下是显示弹出窗口的javascript代码

window.open("data:application/pdf;base64, " + <BASE64_STRING>,"_blank","menubar=no,location=no,resizable=yes,scrollbars=yes,status=yes,width=600,height=700");
Run Code Online (Sandbox Code Playgroud)

我坚持在浏览器弹出窗口中显示pdf文件.当我在chrome或safari中运行相同的网站时,它可以很好地显示带有pdf或doc文件的弹出窗口.由于javafx没有deafult的pdf支持,我可能需要一些第三方库或其他一些技术.我仍然非常耗费2天的时间来寻找解决方案.在这种情况下,有人可以帮助我吗?非常感谢你提前.

javascript java javafx webview javafx-webengine

12
推荐指数
1
解决办法
436
查看次数

在WebEngine JavaFX中设置HTTP标头

如何传递HTTP标头

JavaFX中的"接受语言","接受","接受编码"到WebEngine?我已尝试使用JavaFX的WebEngine/WebView设置cookie中指定的方法,但它不起作用.是否有任何API在Java 8中公开以实现此目的?请建议.

javafx javafx-8 javafx-webengine

10
推荐指数
1
解决办法
2961
查看次数

JavaFX - 如何创建(invisble)WebView的SnapShot/Screenshot

我想在JavaFX(8)中从WebView创建SnapShot/Screenshot/Image.
这个WebView不需要是可见的(在我的例子中).

我的问题:当WebView 不可见(或未添加到任何可见容器)时,
是否可以(以任何方式)从WebView创建屏幕截图/图像?

看看我的示例代码,当WebView(或它的父ScrollPane)可见= false时,
屏幕截图将不起作用(分别是emtpy/blank).

示例代码:

package test;

import javafx.animation.KeyFrame;
import javafx.animation.Timeline;
import javafx.application.Application;
import javafx.beans.value.ChangeListener;
import javafx.beans.value.ObservableValue;
import javafx.concurrent.Worker;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.SnapshotResult;
import javafx.scene.control.Label;
import javafx.scene.control.ScrollPane;
import javafx.scene.image.ImageView;
import javafx.scene.layout.VBox;
import javafx.scene.web.WebView;
import javafx.stage.Stage;
import javafx.util.Duration;

public class JavaFXApplication extends Application
{
   @Override
   public void start(Stage primaryStage)
   {
      ImageView webviewPreviewImage = new ImageView();
      Label waitLabel = new Label("Please wait...");
      WebView webView = new WebView();
      webView.setMaxHeight(480d);
      webView.setMinHeight(480d);
      webView.setMaxWidth(640d); …
Run Code Online (Sandbox Code Playgroud)

java javafx webview javafx-8 javafx-webengine

10
推荐指数
1
解决办法
1483
查看次数

JavaFX:使用JavaFX嵌入除可用webview之外的浏览器

我正在开发一个JavaFX应用程序,它包含很少的html,css,JS文件,这些文件由内部webkit浏览器呈现.现在,问题是我们在JavaFX提供的webkit浏览器中没有得到平滑渲染的CSS动画,但Firefox或chrome中的相同代码相当平滑.

此外,没有持久性可用(目前在Java中使用变量,并通过JS进行持久性通信).

我正在寻找的是有任何方法来集成一些无头浏览器,或一些设置,使CSS动画更顺畅.我遇到的唯一问题是JxBrowser,但对于个人使用来说昂贵了.

代码:

public class Main extends Application {

    private Scene scene;
    MyBrowser myBrowser;

    String completeText = "";

    @Override
    public void start(Stage primaryStage) throws Exception{
        primaryStage.setTitle("Frontend");
        java.net.CookieManager manager = new java.net.CookieManager();
        java.net.CookieHandler.setDefault(manager);

        myBrowser = new MyBrowser();
        scene = new Scene(myBrowser, 1080, 1920);

        primaryStage.setScene(scene);
        primaryStage.setFullScreen(true);
        primaryStage.show();

        // @ being the escape character
        scene.setOnKeyTyped(new EventHandler<KeyEvent>() {
            @Override
            public void handle(KeyEvent event) {
                String text = event.getCharacter();
                if (text.equals("0")) {
                    String tempText = completeText;
                    completeText = "";
                    processText(tempText);
                }else { …
Run Code Online (Sandbox Code Playgroud)

css java webkit javafx javafx-webengine

10
推荐指数
1
解决办法
2400
查看次数

是否可以将JavaFX的WebView更改为Chrome

我们正在尝试创建一个使用html5 canvas打开url的桌面应用程序.我们使用Java 8 JavaFX实现了它.但是我们在渲染草图时遇到了不好的反应.
这在Chrome浏览器中运行良好.是否可以在JavaFx应用程序中嵌入chrome浏览器?

java html5 javafx java-8 javafx-webengine

9
推荐指数
1
解决办法
1万
查看次数

为什么JavaFX WebEngine getLoadWorker循环?

我不太确定怎么说这个问题,但我会试试.我的应用程序通过单击按钮对网站运行命令.问题是在每个循环期间getLoadWorker增加1.在加载工作器中我设置了监听器.下面是它的工作原理.

   MenuItem executeToHere = new MenuItem("Execute to here");
   executeToHere.setOnAction(new EventHandler<ActionEvent>() {
      @Override
      public void handle(ActionEvent event) {
            listViewStepItem item = stepListView.getSelectionModel().getSelectedItem();

            int selectedIndex = stepList.getSelectionModel().getSelectedIndex();

    WebBrowser browser = new WebBrowser(item.getWebView(), item.getListView());
        for(int i=0; i < selectedIndex; i++){
            listViewStepItem item2 = stepList.getItems().get(i);
            if(item2.comboBoxSelected.contains("http://")){
               browser.loadURL();
            } else if(item2.comboBoxSelected.contains("enter")){
               browser.enterText();
            } else if(item2.comboBoxSelected.contains("click")){
               browser.click();
            }
        }
            browser.setWorker();
     }
  });





public class WebBrowser{

   public WebBrowser(WebView fxmlWebView, WebEngine webEngine){
      this.view = fxmlWebView;
      this.engine = webEngine;
   }

    public void loadUrl(String url){
        webEngine.load(url);
    }

    public void enterText(){ …
Run Code Online (Sandbox Code Playgroud)

javafx webview javafx-webengine

7
推荐指数
0
解决办法
451
查看次数