Java 类javafx.concurrent.Worker.State 实例源码

项目:icewolf    文件:IWURLField.java   
public IWURLField(WebView webView, boolean secured, Tab tab) {
    this.webView = webView;
    this.tab = tab;
    this.securedHTTP = secured;
    setText(IWPropertyHelper.getProperty("default_homepage"));

    webView.getEngine().getLoadWorker().stateProperty().addListener(
    new ChangeListener<State>() {
        @Override
        public void changed(ObservableValue<? extends State> observable, State oldValue, State newValue) {
            if (newValue == State.SUCCEEDED) {
                tab.setText(webView.getEngine().getTitle());
            }

            if (newValue == State.FAILED) {
                if(getText().toString().equals("")) {
                    webView.getEngine().loadContent("<html><title>Empty Tab</title><body></body></html>");
                } else {
                    webView.getEngine().loadContent("<html><title>Oops!</title><body><b>Page not found!</b></body></html>");
                }
            }
        }
    });
}
项目:JavaFX-Web-Browser    文件:WebBrowserTabController.java   
@Override
public void changed(ObservableValue<? extends State> observable, State oldState, State newState) {
    if (newState == Worker.State.SUCCEEDED) {
        try {
            //Determine the full url
            String favIconFullURL = getHostName(webEngine.getLocation()) + "favicon.ico";
            //System.out.println(favIconFullURL)

            //Create HttpURLConnection 
            HttpURLConnection httpcon = (HttpURLConnection) new URL(favIconFullURL).openConnection();
            httpcon.addRequestProperty("User-Agent", "Mozilla/5.0");
            List<BufferedImage> image = ICODecoder.read(httpcon.getInputStream());

            //Set the favicon
            facIconImageView.setImage(SwingFXUtils.toFXImage(image.get(0), null));

        } catch (Exception ex) {
            //ex.printStackTrace()
            facIconImageView.setImage(null);
        }
    }
}
项目:WebPLP    文件:UARTPanel.java   
public UARTPanel()
{
    WebView view = new WebView();
    view.setContextMenuEnabled(false);
    webEngine = view.getEngine();

    messageQueue = new LinkedList<>();

    valueDisplayOptions = new LinkedHashMap<>();
    populateDisplayOptions();

    ObservableValue<State> property = webEngine.getLoadWorker().stateProperty();
    OnLoadListener.register(this::onLoad, property);

    String content = "<html><head></head><body " + styleString() + "></body></html>";
    webEngine.loadContent(content);

    HBox controlPane = createControlPane();

    this.setCenter(view);
    this.setBottom(controlPane);
}
项目:WebPLP    文件:ConsolePane.java   
public ConsolePane()
{
    WebView view = new WebView();
    view.setContextMenuEnabled(false);
    webEngine = view.getEngine();

    messageQueue = new LinkedList<>();

    ObservableValue<State> property = webEngine.getLoadWorker().stateProperty();
    OnLoadListener.register(this::onLoad, property);

    String content = "<html><head></head><body></body></html>";
    webEngine.loadContent(content);

    ConsolePaneEventHandler eventHandler = new ConsolePaneEventHandler();
    EventRegistry.getGlobalRegistry().register(eventHandler);

    this.setCenter(view);
}
项目:Gargoyle    文件:NrchRealtimeSrchFlowComposite.java   
/**
 *
 * JFXMasonryPane의 버그때문에 reload의 경우 - 새로 JFXMasonryPane을 만드는 작업을 처리함.
 *
 * @작성자 : KYJ
 * @작성일 : 2016. 11. 21.
 */
protected void reload() {

    if (service.isRunning()) {
        return;
    }

    if (gargoyleThreadExecutors.isShutdown() || gargoyleThreadExecutors.isTerminated()) {
        service.setExecutor(gargoyleThreadExecutors);
    }

    if (State.SUCCEEDED == service.getState()) {
        service.restart();
    } else {
        service.start();
    }
}
项目:semtool    文件:BrowserPlaySheet2.java   
public void registerFunction( String namespace, Object theClass ) {
    log.debug( "Registering Java class whose methods can be called from javascript. Namespace: "
            + namespace + ", Java class: " + theClass );

    Platform.runLater( new Runnable() {
        @Override
        public void run() {
            engine.getLoadWorker().stateProperty().addListener(
                    new ChangeListener<State>() {
                        @Override
                        public void changed( ObservableValue<? extends Worker.State> ov,
                                State oldState, State newState ) {
                            if ( newState == Worker.State.SUCCEEDED ) {
                                JSObject jsobj = (JSObject) engine.executeScript( "window" );
                                jsobj.setMember( namespace, theClass );
                            }
                        }
                    }
            );
        }
    } );
}
项目:zoofx    文件:ZNodeCellFactory.java   
private void removeItem(ZooKeeper zk, TreeView<ZNodeFX> treeView, TreeItem<ZNodeFX> item) {
    TreeItem<ZNodeFX> parent = item.getParent();
    if(parent!=null){
        final ZKRemover remover = new ZKRemover(zk, item.getValue());
        serviceWorker.bind(remover);
        remover.stateProperty().addListener((ChangeListener<State>) (observable, oldValue, newValue) -> {
            switch (newValue) {
            case SUCCEEDED:
                if(remover.getValue()){
                    parent.getChildren().remove(item);
                }
                break;
            case FAILED:
                Dialogs.showError("Error removing item " + item.getValue().getName(), "It is forbidden to remove the root item");
            default:
                break;
            }
        });
        remover.start();
    }else{
        Dialogs.showError("Error removing item " + item.getValue().getName(), "It is forbidden to remove the root item");
    }
}
项目:zoofx    文件:ZooFx.java   
private void connectToZK(final String conn) {
    final ZKConnector connector = new ZKConnector(conn);
    progress.progressProperty().bind(connector.progressProperty());
    progress.visibleProperty().bind(connector.runningProperty());
    connector.stateProperty().addListener((ChangeListener<State>) (observable, oldValue, newValue) -> {
        switch (newValue) {
        case FAILED:
            Dialogs.showError("Wrong ZooKeeper connection", conn);
            break;
        case SUCCEEDED:
            createTab(connector.getValue());
            ZFXConf.getInstance().addSuccessfulConnection(connector.getValue());
            break;
        default:
            break;
        }
    });
    connector.start();
}
项目:openjfx-8u-dev-tests    文件:FXCanvasBrowserApp.java   
protected FXCanvasBrowserApp() {
    shell = new Shell();
    shell.setText(this.getClass().getSimpleName());
    shell.setLayout(new FillLayout());
    FXCanvas fxCanvas = new FXCanvas(shell, SWT.BORDER);

    browser = new WebView();
    browser.getEngine().getLoadWorker().stateProperty().addListener(
            new ChangeListener<State>() {
        public void changed(ObservableValue ov, State oldState, State newState) {
            if (newState == State.SUCCEEDED) {
                successLabel.setText(SUCCESS_MESSAGE);
            }
        }
    });
    fxCanvas.setScene(createScene());

    shell.pack();
    Monitor monitor = shell.getMonitor();
    Rectangle monitorRect = monitor.getClientArea();
    Rectangle shellRect = shell.getBounds();
    shellRect.x = Math.max(0, (monitorRect.width - shellRect.width) / 2);
    shellRect.y = Math.max(0, (monitorRect.height - shellRect.height) / 2);
    shell.setBounds(shellRect);
    shell.open();
}
项目:openjfx-8u-dev-tests    文件:HistoryLauncher.java   
@Override
public void start(Stage stage) {
    view = new WebView();
    web = view.getEngine();
    web.getLoadWorker().stateProperty().addListener(new ChangeListener<Worker.State>() {
        public void changed(ObservableValue<? extends State> ov, State t, State t1) {
            if (t1.equals(Worker.State.SUCCEEDED)) {
                currIndex.setText("Current index: " + web.getHistory().getCurrentIndex());
                currHistorySize.setText("Current number of entries: " + web.getHistory().getEntries().size());
            }
        }
    });
    String url = getParameters().getRaw().get(0);
    if (url != null)
        web.load(url);
    stage.setTitle("Launcher");
    stage.setScene(new Scene(createContainer(), 800, 600));
    stage.sizeToScene();
    stage.show();
}
项目:openjfx-8u-dev-tests    文件:DrtWebNodeRunner.java   
WebView createWebView(String url) {
    System.out.println("URL to load: " + url);
    WebView view = new WebView();
    web = view.getEngine();
    web.getLoadWorker().stateProperty().addListener (
    new ChangeListener <State>() {
        @Override
        public void changed (ObservableValue ov, State oldState, State newState) {
            System.out.println ("WebEngine's state changed from " + oldState.toString() + " to " + newState.toString());
            System.out.println("Location: " + web.getLocation());
            if (web.getLoadWorker().getException() != null) {
                 System.out.println("Exception message: " + web.getLoadWorker().getException().getMessage());
            }
        }
    });
    web.load(url);
    return view;
}
项目:Krothium-Launcher    文件:BrowserFX.java   
public final void initialize(Stage s) {
    this.stage = s;
    WebEngine engine = this.webBrowser.getEngine();
    String userAgent = engine.getUserAgent();
    engine.setUserAgent(userAgent.substring(0, userAgent.indexOf(')')) + "; rv:56.0) Gecko/20100101 Firefox/56.0");
    engine.setJavaScriptEnabled(true);
    engine.getLoadWorker().stateProperty().addListener((observable, oldValue, newValue) -> {
        if (newValue.equals(State.SUCCEEDED)) {
            String location = engine.getLocation();
            if (!location.contains("sh.st") && !location.contains("adf.ly") && !location.contains("krothium.com") && !location.contains("about:blank")) {
                this.webBrowser.getEngine().load("about:blank");
            }
            if (location.contains("about:blank") && !this.toHide.isShowing()) {
                this.toHide.show();
                s.close();
            }
        }
    });
}
项目:bunkr    文件:ProgressDialog.java   
public ProgressDialog(final Worker<?> worker)
{
    if (worker == null) return;
    if (worker.getState() == State.CANCELLED || worker.getState() == State.FAILED || worker.getState() == State.SUCCEEDED)
    {
        return;
    }
    this.worker = worker;

    setResultConverter(dialogButton -> null);

    setTitle("Progress");
    getDialogPane().setHeaderText("Operation in Progress");

    initModality(Modality.APPLICATION_MODAL);

    createControls();
    createLayout();
    bindEvents();
}
项目:bunkr    文件:ProgressDialog.java   
public final void setWorker(final Worker<?> newWorker)
{
    if (newWorker != worker)
    {
        if (worker != null)
        {
            worker.stateProperty().removeListener(stateListener);
            end();
        }

        worker = newWorker;

        if (newWorker != null)
        {
            newWorker.stateProperty().addListener(stateListener);
            if (newWorker.getState() == Worker.State.RUNNING || newWorker.getState() == Worker.State.SCHEDULED)
            {
                // It is already running
                begin();
            }
        }
    }
}
项目: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);


}
项目:Endeca-RecordStore-Inspector    文件:ProgressDialog.java   
@FXML
protected void initialize() {
    // Update progress bar when service updates progress
    progressBar.progressProperty().bind(service.progressProperty());

    // Update message label when service updates message
    progressMessage.textProperty().bind(service.messageProperty());

    // Hide dialog when the service stops running
    service.stateProperty().addListener((observable, oldValue, newValue) -> {
        if (newValue == State.CANCELLED || newValue == State.FAILED || newValue == State.SUCCEEDED) {
            service.cancel();
            hide();
        }
    });
}
项目:lab_browser    文件:BrowserView.java   
@Override
public void changed (ObservableValue<? extends State> ov, State oldState, State newState) {
    if (newState == Worker.State.SUCCEEDED) {
        EventListener listener = event -> {
            final String href = ((Element)event.getTarget()).getAttribute(HTML_LINK);
            if (href != null) {
                String domEventType = event.getType();
                if (domEventType.equals(EVENT_CLICK)) {
                    showPage(href);
                } else if (domEventType.equals(EVENT_MOUSEOVER)) {
                    showStatus(href);
                } else if (domEventType.equals(EVENT_MOUSEOUT)) {
                    showStatus(BLANK);
                }
            }
        };
        Document doc = myPage.getEngine().getDocument();
        NodeList nodes = doc.getElementsByTagName("a");
        for (int i = 0; i < nodes.getLength(); i++) {
            EventTarget node = (EventTarget)nodes.item(i);
            node.addEventListener(EVENT_CLICK, listener, false);
            node.addEventListener(EVENT_MOUSEOVER, listener, false);
            node.addEventListener(EVENT_MOUSEOUT, listener, false);
        }
    }
}
项目:markdown-writer-fx    文件:WebViewPreview.java   
private void createNodes() {
    webView = new WebView();
    webView.setFocusTraversable(false);

    // disable WebView default drag and drop handler to allow dropping markdown files
    webView.setOnDragEntered(null);
    webView.setOnDragExited(null);
    webView.setOnDragOver(null);
    webView.setOnDragDropped(null);
    webView.setOnDragDetected(null);
    webView.setOnDragDone(null);

    webView.getEngine().getLoadWorker().stateProperty().addListener((ob,o,n) -> {
        if (n == State.SUCCEEDED && !runWhenLoadedList.isEmpty()) {
            ArrayList<Runnable> runnables = new ArrayList<>(runWhenLoadedList);
            runWhenLoadedList.clear();

            for (Runnable runnable : runnables)
                runnable.run();
        }
    });
}
项目:Hook-Manager    文件:HTMLPanel.java   
public void doWhenFinished(Runnable task)
{
    Platform.runLater(new Runnable()
    {
        @Override
        public void run()
        {
            engine.getLoadWorker().stateProperty()
                .addListener(new ChangeListener<State>()
                {
                    @Override
                    public void changed(ObservableValue ov, State oldState,
                        State newState)
                    {
                        if(newState == State.SUCCEEDED)
                        {
                            task.run();
                            engine.getLoadWorker().stateProperty()
                                .removeListener(this);
                        }
                    }
                });
        }
    });
}
项目:JobHunter    文件:WebViewOnClickListener.java   
public static void set(final WebView view){
    // We want to handle all anchor click events after the view has loaded

    view.getEngine().getLoadWorker().stateProperty().addListener(new ChangeListener<State>() {

        @Override
        public void changed(ObservableValue<? extends State> obs, State old, State current) {
            if(State.SUCCEEDED == current) {
                NodeList nodeList = view.getEngine().getDocument().getElementsByTagName("a");
                for (int i = 0; i < nodeList.getLength(); i++) {
                    Node node = nodeList.item(i);
                    EventTarget eventTarget = (EventTarget) node;
                    WebViewOnClickListener handler = new WebViewOnClickListener();
                    eventTarget.addEventListener("click", handler, false);
                }
            }
        }
    });
}
项目:CloudDOE    文件:WebPanel.java   
public void registerAction(final String name,final Object obj){
    Platform.runLater(new Runnable() {
           @Override public void run() {
            we.getLoadWorker().stateProperty().addListener(new ChangeListener<State>() {
                @Override
                public void changed(ObservableValue<? extends State> ov,
                        State oldS, State newS) {
                    if(newS == State.SUCCEEDED) {
                        JSObject window = (JSObject) we.executeScript("window");
                        window.setMember(name, obj);
                    }
                }
            });
           }
    });
}
项目:fxnav-interceptor    文件:ByMutationObserverPresenter.java   
@Override
public void initialize(URL u, ResourceBundle resources) {
    bindUI();

    webView.getEngine().getLoadWorker().stateProperty().addListener(new ChangeListener<State>() {
        @Override
        public void changed(ObservableValue<? extends State> observable, State oldValue, State newValue) {
            if (State.SUCCEEDED == newValue) {
                // a new page has been loaded
                enhanceAndMonitorPage();
            }
        }
    });

    goToHomePage();
}
项目:JWebTerminal    文件:WebTerminal.java   
public WebTerminal() {
    webView = new WebView();
    webEngine = webView.getEngine();
    webEngine.getLoadWorker().stateProperty().addListener(new ChangeListener<State>() {
            public void changed(ObservableValue<? extends State> ov, State t, State newValue) {
                if (newValue == State.SUCCEEDED) {
                    initialize();
                    loadSucceeded();
                }
            }});

    loadPage(webEngine);
    this.getChildren().add(webView);

    // We run the key-event handlers during the filter (capture) phase,
    // rather than the normal (bubbling) phase.  This allows us to
    // consume the event, so it never gets to the bubbling phase - and
    // thus never gets passed to the native component.  (In JavaScript
    // one can call preventDefault or have the handler return false,
    // but we don't have the functionality with JavaFX events.)
    webView.addEventFilter(KeyEvent.KEY_PRESSED, this);
    webView.addEventFilter(KeyEvent.KEY_TYPED, this);

    VBox.setVgrow(webView, Priority.ALWAYS);
}
项目:Nanasetter    文件:MainController.java   
public void setup() {
    this.dialog = new Dialog(this.root.getScene().getWindow());
    this.pluginLoader = new PluginLoader(this.dialog, this.logger);

    WebEngine webEngine = this.htmlRoot.getEngine();
    webEngine.setOnAlert(event -> this.dialog.info(event.getData()));
    webEngine.load(getClass().getResource("/page/index.html").toString());

    this.htmlRoot.setFontSmoothingType(FontSmoothingType.GRAY);
    this.htmlRoot.setContextMenuEnabled(false);

    webEngine.getLoadWorker().stateProperty().addListener(
            (ov, oldState, newState) -> {
                if (newState == State.SUCCEEDED) this.onLoaded();
            });
}
项目:phon    文件:BufferPanel.java   
public void showHtml() {
    JComponent oldComp = currentView;

    final WebView htmlView = getWebView();
    Platform.runLater( () -> {
        htmlView.getEngine().getLoadWorker().stateProperty().addListener(new ChangeListener<State>() {

            @Override
            public void changed(ObservableValue<? extends State> observable, State oldValue, State newValue) {
                if(newValue == State.SUCCEEDED) {
                    JSObject window = (JSObject) htmlView.getEngine().executeScript("window");
                    window.setMember("buffer", BufferPanel.this);
                }
            }

        });

        htmlView.getEngine().loadContent(logBuffer.getText());

        SwingUtilities.invokeLater(() -> {
            currentView = fxPanel;
            cardLayout.show(contentPanel, HTML_VIEW_ID);
            firePropertyChange(SHOWING_BUFFER_PROP, oldComp, currentView);
        });
    });
}
项目:Matrixonator-Java    文件:HelpController.java   
@FXML
/**
 * Setups the HelpView window and added a changed event to the engine,
 * this allowed listening for "special" urls where we want to open a
 * default browser window with more information to the user
 */
public void initialize() {
  ewan = lewis.getEngine();

  ewan.getLoadWorker().stateProperty().addListener(new ChangeListener<State>() {

    @SuppressWarnings("rawtypes")
    // Might need to fix this someday
    @Override
    public void changed(ObservableValue ov, State oldState, State newState) {

      if (newState == Worker.State.SUCCEEDED) {
        System.out.println("Loaded> " + ewan.getLocation());
        // TODO check if the location is a special external URL then open it in the default
        // browser
      }
    }
  });

  ewan.load(generateURL("Index.html"));
}
项目:CrocodileNote    文件:CrocodileNote.java   
void dostuff(){
       // process page loading
       webEngine.getLoadWorker().stateProperty().addListener(
           new ChangeListener<State>() {
               @Override
               public void changed(ObservableValue<? extends State> ov,
                   State oldState, State newState) {
                   if (newState == State.SUCCEEDED) {
                           JSObject win = (JSObject) webEngine.executeScript("window");
                           win.setMember("app", new GrooApp());

                           doInit();

                           webEngine.executeScript("start();");
                       }
                   }
               }
       );
}
项目:org.devel.javafx.navigation.prototype    文件:MapView.java   
public void bindRoute(StringProperty startPosition,
        StringProperty finishPosition) {

    this.startPosition = startPosition;
    this.finishPosition = finishPosition;

    // listen for webEngine to initiate displaying of the route
    getWebEngine().getLoadWorker().stateProperty()
            .addListener(new ChangeListener<State>() {
                @Override
                public void changed(ObservableValue<? extends State> state,
                        State arg1, State newState) {
                    if (newState == State.SUCCEEDED) {
                        // remove change listener
                        state.removeListener(this);
                        // calculate route
                        calcRoute();
                    }
                }
            });

}
项目:iTrySQL    文件:StatementEditorComponent.java   
/**
 * @param javascriptEditor
 *            WebView, in der der Javascript laufen soll.
 * @param resource
 *            HTML Ressource zur Einbettung des Editors.
 * @param content
 *            Initialer Inhalt des Editors.
 */
private void installJavascriptEditorWithInitialContent(final WebView javascriptEditor, final String resource,
        final String content) {
    final WebEngine engine = javascriptEditor.getEngine();
    engine.getLoadWorker().stateProperty().addListener(new ChangeListener<State>() {
        @Override
        public void changed(final ObservableValue<? extends State> observable, final State oldState,
                final State newState) {
            if (newState == State.SUCCEEDED) {
                engine.getLoadWorker().stateProperty().removeListener(this);
                statementEditor.setText(content);
                statementEditor.focus();
            }
        }
    });

    final ResourceLocator locator = new ResourceLocator();
    try {
        javascriptEditor.getEngine()
                .load(locator.getExternalFormForExplodedResourceInBundle(resource).toExternalForm());
    } catch (final Exception e) {
        installEditorTextArea();
    }
}
项目:marathonv5    文件:HyperlinkRedirectListener.java   
@Override public void changed(ObservableValue<? extends State> observable, State oldValue, State newValue) {
    if (State.SUCCEEDED.equals(newValue)) {
        Document document = webView.getEngine().getDocument();
        NodeList anchors = document.getElementsByTagName(ANCHOR_TAG);
        for (int i = 0; i < anchors.getLength(); i++) {
            Node node = anchors.item(i);
            EventTarget eventTarget = (EventTarget) node;
            eventTarget.addEventListener(CLICK_EVENT, this, false);
        }
    }
}
项目:marathonv5    文件:ACEEditor.java   
private void initComponent() {
    webView = new WebView();
    String externalForm = ACEEditor.class.getResource("/Ace.html").toExternalForm();
    WebEngine engine = webView.getEngine();
    engine.getLoadWorker().stateProperty().addListener(new ChangeListener<State>() {
        @Override public void changed(ObservableValue<? extends State> observable, State oldValue, State newValue) {
            if (newValue != State.SUCCEEDED) {
                return;
            }
            JSObject window = (JSObject) engine.executeScript("window");
            window.setMember("java", ACEEditor.this);
            engine.executeScript("console.log = function(message)\n" + "{\n" + "    java.log(message);\n" + "};");
            ACEEditor.this.engine = engine;
            setOptions(new JSONObject().put("showLineNumbers", showLinenumbers).put("firstLineNumber", startLineNumber)
                    .put("overwrite", false));
            loadPreferences();
            hookKeyBindings();
        }
    });
    engine.load(externalForm);
    ToolBarContainer container = ToolBarContainer.createDefaultContainer(Orientation.RIGHT);
    if (withToolbar) {
        ToolBarPanel toolBarPanel = container.getToolBarPanel();
        createToolBars(toolBarPanel);
    }
    container.setContent(webView);
    this.node = container;
}
项目:GameAuthoringEnvironment    文件:FacebookListener.java   
/**
 * Method to overwrite to listen to changes in the web browser
 */
@Override
public void changed (ObservableValue<? extends State> ov, State oldState, State newState) {
    if (newState == Worker.State.SUCCEEDED) {
        String newURL = myEngine.getLocation();
        checkForLogin(newURL);

    }
}
项目:cyoastudio    文件:HtmlImageExporter.java   
private void loadSections(Runnable nextCall) {
    logger.info("Loading " + bounds.toString());
    boolean includeTitle = (bounds.lowerSection == 0 && bounds.lowerOption == 0);
    String source = project.getTemplate().render(project, includeTitle, bounds, ImageType.REFERENCE);

    WebEngine engine = browser.getEngine();
    engine.loadContent(source);

    if (listener != null) {
        engine.getLoadWorker().stateProperty().removeListener(listener);
    }
    listener = new ChangeListener<Worker.State>() {

        @Override
        public void changed(ObservableValue<? extends Worker.State> observable, Worker.State oldValue,
                Worker.State newValue) {
            if (newValue != Worker.State.SUCCEEDED)
                return;

            try {
                engine.executeScript("document.body.style.overflow = 'hidden'");

                String heightText = engine
                        .executeScript("window.getComputedStyle(document.body).getPropertyValue('height')")
                        .toString();
                height = Double.valueOf(heightText.replace("px", ""));
                browser.setMinWidth(1280);
                browser.setMaxWidth(browser.getMinWidth());

                nextCall.run();
            } catch (Exception e) {
                logger.error("Error while setting up screenshot browser", e);
                stage.close();
                callback.accept("Error while taking screenshot");
            }
        }
    };
    engine.getLoadWorker().stateProperty().addListener(listener);
}
项目:SQLNavigator    文件:UserManager.java   
private void createScene() {

        Platform.runLater(() -> {


                WebView view = new WebView();
                //view.setContextMenuEnabled(false);
                System.out.println("This happened");
                engine = view.getEngine();
                System.out.println("So did this");
                FXPanel.setScene(new Scene(view));
                engine.load(path+"SQLNavigator/User%20Login/login.html");
                engine.getLoadWorker().stateProperty().addListener((ObservableValue<? extends State> ov,State oldState, State newState) -> {  
                            if (newState == State.SUCCEEDED) {
                                JSObject win =  (JSObject) engine.executeScript("window");
                                win.setMember("Handler", handler);
                            }
                            engine.executeScript("run()");
                        }
                );
                engine.titleProperty().addListener(new ChangeListener<String>() {
                    @Override
                    public void changed(ObservableValue<? extends String> observable, String oldValue, final String newValue) {
                        SwingUtilities.invokeLater(new Runnable() {
                            @Override
                            public void run() {
                                UserManager.this.setTitle(newValue);
                            }
                        });
                    }
                });
        });
    }
项目:WebPLP    文件:OnLoadListener.java   
public void changed(ObservableValue<? extends State> value, State oldState,
        State newState)
{
    if (newState == State.SUCCEEDED)
    {
        onLoadFunction.perform();

        if (observable != null)
            observable.removeListener(this);
    }
}
项目:JavaFX-Web-Browser    文件:WebBrowserTabController.java   
@Override
        public void changed(ObservableValue<? extends State> observable, State oldState, State newState) {
            if (newState == Worker.State.CANCELLED) {
            // download detected
            String url = webEngine.getLocation();
            logger.info("download url: "+url);
//             try{
//                 Download download = new Download(webEngine.getLocation());
//                 Thread t = new Thread(download);
//                 t.start();
//             }catch(Exception ex){
//                 logger.log(Level.SEVERE, "download", ex);
//             }
            }
        }
项目:FunnyCreator    文件:FunnyView.java   
public void create(Stage primaryStage) {
    this.primaryStage = primaryStage;
    FunnyCreator.getLogger().info("Creating primary view");

    ScreenUtils.to(primaryStage, 960, 480);
    ScreenUtils.center(primaryStage);

    WebView view = new WebView();
    this.engine = view.getEngine();

    engine.getLoadWorker().stateProperty().addListener((observable, oldValue, newValue) -> {
        if (newValue != State.SUCCEEDED) {
            return;
        }

        FunnyCreator.getLogger().info("Showing view");
        primaryStage.show();

        FunnyCreator.getLogger().info("Injecting FGC bridge");
        JSObject window = (JSObject) engine.executeScript("window");
        window.setMember("FunnyGuildsCreator", new FunnyBridge());

        creator.runAsync(() -> {
            try {
                creator.load();
            } catch (Exception e) {
                e.printStackTrace();
                AlertUtils.alert("FunnyCreator Exception", "Cannot load creator", ExceptionUtils.getStackTrace(e), creator::shutdown);
            }
        });
    });

    String style = IOUtils.toString(getClass().getResourceAsStream("/panel/front.css"), Charset.forName("UTF-8"));
    String script = IOUtils.toString(getClass().getResourceAsStream("/panel/front.js"), Charset.forName("UTF-8"));
    String html = IOUtils.toString(getClass().getResourceAsStream("/panel/front.html"), Charset.forName("UTF-8"));

    String content = html
            .replace("{{STYLE}}", style)
            .replace("{{SCRIPT}}", script)
            .replace("{{VERSION}}", FunnyConstants.VERSION);
    engine.loadContent(content);

    Scene scene = new Scene(view, primaryStage.getWidth(), primaryStage.getHeight());
    primaryStage.getIcons().add(new Image(FunnyCreator.class.getResourceAsStream("/icon.png")));
    primaryStage.initStyle(StageStyle.UNDECORATED);
    primaryStage.setTitle("FunnyGuilds Creator " + FunnyConstants.VERSION);
    primaryStage.setScene(scene);
}
项目:scorekeeperfrontend    文件:BrowserControl.java   
@SuppressWarnings({ "unchecked", "rawtypes" })
public static void printURL(String url)
{
    Platform.runLater(new Runnable() {
        @Override public void run() {
            try {
                WebView view = new WebView();
                WebEngine engine = view.getEngine();
                engine.getLoadWorker().stateProperty().addListener((ChangeListener) (obsValue, oldState, newState) -> {
                   if (newState == State.SUCCEEDED) {
                       Document doc = engine.getDocument();
                       // don't know why, but this was necessary to get the font-size smaller for results, prints fine under Chrome but not WebView
                       Element extrastyle = doc.createElement("style");
                       extrastyle.appendChild(doc.createTextNode(".container-fluid { font-size: 0.65rem !important; } table td span { white-space: nowrap; }"));
                       doc.getDocumentElement().getElementsByTagName("head").item(0).appendChild(extrastyle);

                       PrinterJob job = PrinterJob.createPrinterJob();
                       if (job == null) {
                           log.warning("Unable to create a print job.  Opening in a browser instead.");
                           openURL(url);
                           return;
                       }

                       if (job.showPrintDialog(null)) {
                           engine.print(job);
                           job.endJob();
                       }
                   }
                });
                engine.load(url);
            } catch (Exception e) {
                log.log(Level.SEVERE, "\bCould not print:" + e, e);
            }
        }
    });
}
项目:QAndroidFileHostParser    文件:PageWalker.java   
PageWalker(WebEngine webEngine, GuiController guiController) {
    this.webEngine = webEngine;
    this.guiController = guiController;

    flashesArray = new ArrayList<>();
    cookiesArray = new ArrayList<>();

    initialListener = new ChangeListener<State>() {
        @Override
        public void changed(ObservableValue<? extends State> observable, State oldValue, State newValue) {
            if (newValue == State.SUCCEEDED) {
                PageTemplate.pageCount = tryGetPageCount();
                if (tryGetPageCount() != -1) {
                    guiController.toLog("Get num of pages... " + PageTemplate.pageCount + ".");
                    List<String> links = new ArrayList<>();
                    for (int i = PageTemplate.pageStart; i <= PageTemplate.pageStop; i++, PageTemplate.pageCountAux++) {
                        String link = PageTemplate.startUrl + "&page=" + i;
                        links.add(link);
                    }
                    guiController.toLog("Generating links... " + PageTemplate.pageCountAux + ".");
                    guiController.toLog("=== Start LINKS");
                    PageTemplate.pageCountAux = PageTemplate.pageStart;
                    webEngine.getLoadWorker().stateProperty().removeListener(this);
                    loadPagesConsecutively(links, PartStates.PartLink);
                } else {
                    guiController.toLog("Get num of pages... fail!");
                }
            }
        }
    };
}
项目:Gargoyle    文件:TinymceDeligator.java   
@Override
public void changed(ObservableValue<? extends State> observable, State oldValue, State newValue) {
    if (newValue == State.SUCCEEDED) {
        WebEngine engine = getWebView().getEngine();
        if (ValueUtil.isNotEmpty(initCont)) {
            engine.executeScript(" document.getElementById('gargoyle-textarea').innerHTML= '" + initCont + "'; ");
        }

        engine.getLoadWorker().stateProperty().removeListener(this);
        webViewLoaded.set(true);
    }
}