DOC-04-08 管理Web历史记录
本章介绍WebHistory类并教会如何获取和展示已访问页面的URL。
你可以用WebHistory类来获取已访问的页面列表,它表示与WebEngine对象关联的一个会话历史记录。使用WebEngine.getHistory()方法来获取某特定webEngine对象的WebHistory实例,即:WebHistory history = webEngine.getHistory();。
该历史记录基本上是一个条目列表。每一个条目表示一个已访问过的页面并且提供对该页面相关信息的访问,如URL、标题、页面最后访问日期等。该列表可通过调用getEntries()方法获得。
用户浏览网页时历史记录列表即发生变化。可使用ObservableList的API来处理这种变化。
8.1 获取已访问的页面列表
通常使用标准的或者自定义的UI控件来显示历史记录列表。
例8-1展示了如何获取历史记录项并且把历史记录项放到ComboBox里展示。
例8-1 获取并处理Web历史记录项列表
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
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()) { comboBox.getItems().remove(e.getUrl()); } for (Entry e : c.getAddedSubList()) { comboBox.getItems().add(e.getUrl()); } } } ); comboBox.setPrefWidth(60); comboBox.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent ev) { int offset = comboBox.getSelectionModel().getSelectedIndex() - history.getCurrentIndex(); history.go(offset); } }); |
程序运行结果如图8-1所示。
图8-1 在历史记录下拉框中选择URL
打赏一下
支付宝

微信

除非注明,博客文章均为原创,转载请标明文章地址本文地址: http://www.javafxchina.net/blog/2015/07/html_web_history/
from: FX周报(2015-08-04) | JavaFX中文博客 – 中文文档、入门教程