Javafx 2 从javafx打开超链接
这里的场景是我只想打开超链接,它将导航到帮助文档我的javafx应用程序的html页面,这些html页面被放置在我的应用程序jar所在的文件夹中。我尝试使用webview和webengine加载它,但它不工作,我也没有得到任何异常。请帮助,下面是我的代码:Javafx 2 从javafx打开超链接,javafx-2,Javafx 2,这里的场景是我只想打开超链接,它将导航到帮助文档我的javafx应用程序的html页面,这些html页面被放置在我的应用程序jar所在的文件夹中。我尝试使用webview和webengine加载它,但它不工作,我也没有得到任何异常。请帮助,下面是我的代码: @FXML private void handleHelpLink(ActionEvent event) { String driveName = LoginView.runTimeDriveName();
@FXML
private void handleHelpLink(ActionEvent event) {
String driveName = LoginView.runTimeDriveName();
String url = driveName + "/html/Pheonix Setup.html";
webEngine.load(url);
}
注意:我使用的是JavaFX2.1
更新代码:
public class HelpDoc extends Application {
public static void main(String[] args) throws Exception {
launch(args);
}
@Override
public void start(final Stage stage) throws Exception {
final WebView webView = new WebView();
final WebEngine engine = webView.getEngine();
String driveName = LoginView.runTimeDriveName();
final String url = driveName + "/html/Pheonix Setup.html";
System.out.println("URL="+url);
engine.load(url);
stage.setScene(new Scene(webView));
stage.show();
}
}
要在WebView中加载本地html文件,您需要提供有效的URL:
Path path = Paths.get("C:/file.html");
engine.load(path.toUri().toURL().toString());
使用Java7。如果您使用Java 6:
File f = new File("C:\\file.html");
engine.load(f.toURI().toURL().toString());
您是否已将WebView添加到场景/舞台?您可以查看以获得一个简单的示例。我已在场景中添加了webview,但它仍然不起作用。如果我们可以在系统默认浏览器中直接打开该html页面,对我来说就可以了。我们可以这样做吗?您应该更具体地定义“不起作用”。如果你想得到好的答案,你应该展示一个完整(但简单)的例子来重现你的问题:创建webview/webengine,将其添加到场景/舞台,加载url。您确定调用了
handleHelpLink
方法吗?您确定您的url有效吗?etc.URL在被调用时是有效的和handleHelpLink。在这里,我创建了一个新类,并从中打开了一个新的stage,试图在该stage上打开html页面。请查找我的类的代码。它没有显示任何内容。请尝试使用final String url=”http://www.google.com";代码>并查看它是否有效(对我有效)。请注意,您需要http
部分,而url=“www.google.com”
页面不会打开。