8

私はJavaFXを学んでいて、簡単なブラウザを書こうとしていますが、WebViewとWebEngineを使ってJavaFXの戻るボタンと進むボタンをどのようにプログラムすればよいですか? サンプルコードはありますか?

4

3 に答える 3

11

インデックスを取得または設定する必要がない場合は、JavaScript を使用してカスタム contextMenu の戻るボタンと進むボタンをコード化する簡潔な方法を次に示します。

public void goBack() {
    Platform.runLater(() -> {
        webEngine.executeScript("history.back()");
    });
}

public void goForward() {
    Platform.runLater(() -> {
        webEngine.executeScript("history.forward()");
    });
}
于 2016-07-26T10:03:47.133 に答える
8

私はそれを考え出した :

  public String goBack()
  {    
    final WebHistory history=eng.getHistory();
    ObservableList<WebHistory.Entry> entryList=history.getEntries();
    int currentIndex=history.getCurrentIndex();
//    Out("currentIndex = "+currentIndex);
//    Out(entryList.toString().replace("],","]\n"));

    Platform.runLater(new Runnable() { public void run() { history.go(-1); } });
    return entryList.get(currentIndex>0?currentIndex-1:currentIndex).getUrl();
  }

  public String goForward()
  {    
    final WebHistory history=eng.getHistory();
    ObservableList<WebHistory.Entry> entryList=history.getEntries();
    int currentIndex=history.getCurrentIndex();
//    Out("currentIndex = "+currentIndex);
//    Out(entryList.toString().replace("],","]\n"));

    Platform.runLater(new Runnable() { public void run() { history.go(1); } });
    return entryList.get(currentIndex<entryList.size()-1?currentIndex+1:currentIndex).getUrl();
  }
于 2013-09-24T18:19:28.350 に答える