我已经安装了jdk1.7.0_15. javafx的下载页面 javafx 2.2.7包含最新的安全修复程序,并与 Windows,Mac和Linux的最新JDK 7. 使用Javafx 2.2.7 下载Java SE 7 就像一个好菜鸟一样,我遵循说明并安装了JDK.现在,当我查找可以将其作为用户库蚀的文件时,我找不到它. JDK的lib文件夹中还有其他一些相关的库,但我不明白下一步要导入什么. Google上的大多数教程,包括Java的一个教程非常旧. 请帮助我开始使用Javafx 解决方案 我建议使用 e(fx)剪贴画. e(fx)剪贴画是一个插件,可帮助javafx开发Eclipse,它将解决您的类Path问题,并为您提供许多其他有用的功能以及逐步的逐步文档和代码完成帮助. 其他解决方案 很棒的问题.我记得我开始时遇到了同样的问题.这是逐步指南. 1)制作一个新的Javafx项目(实际上与Java项目相同,它带有更合适的骨架)
以下是关于 javafx-2 的编程技术问答
我在NetBeans上制作了Javafx应用程序,然后将此代码设置为将图标设置为窗口 primaryStage.getIcons().add(new Image("file:sicadcam.png")); ,当我从Netbeans运行该项目时,它可以正常运行:图标出现在窗口和任务栏上.我必须放置图像的位置. 当我清洁和构建项目时,它会生成两个安装程序:一个EXE和一个MSI;当我安装应用程序并打开它时,窗口没有图标sicadcam.png,它具有默认的Java徽标图标. 我如何或在哪里可以设置图像的路径,以便当我安装应用程序时,图标出现. 解决方案 您应该将图标放在JAR或ClassPath中,然后通过资源功能加载它. 例如.如果将其放在您的bin文件夹中,将其放入班级的包装中,则以下内容应有效: primaryStage.getIcons().add(new Image(this.getClass().getResourceAsStream("si
根据 http://docs.oracle.com/javafx/2/deployment/packaging.htm : 要向MSI软件包添加自定义UI,您可以自定义Javafx使用的WIX模板文件 使用6.2.4的技术.请参阅WIX文档以获取更多详细信息. 假设我想出了如何创建自定义模板文件,如何将其传递到Javafx Maven插件? 解决方案 当在Javafx-Maven-Plugin(2.0)的帮助下创建本机软件包时,我们必须提及在main/deploy/exploy/deploy/potchans/windows/demo.ico中应用程序的图标,然后在部署中存在的图标如果在部署目录中添加了WIX模板,则将目录添加到类路径中,那么Wix模板可能在ClassPath上可用. 然后,Javafxpackager可以像使用图标一样使用此WIX脚本.规由Javafx插件内部使用Javafxpackager.
我正在尝试制作Windows PC Toast通知.现在,我正在使用秋千和javafx的混合物,因为我找不到使用FX制作未装饰窗口的方法.我更喜欢只使用javafx. 那么,如何制作一个未装修的窗口? 编辑:我发现您可以直接使用new Stage(StageStyle.UNDECORATED). 创建一个阶段 现在我需要知道的只是如何初始化工具包,以便我可以在MyApplication中调用我的start(Stage stage)方法. (extends Application) 我通常致电Application.launch(MyApplication.class, null),但是这使我免受Stage的创建和Toolkit的初始化的创建. 那么我该如何做这些事情才能直接使用start(new Stage(StageStyle.UNDECORATED))? 解决方案 我没有获得初步调用start()的动机 - 方法设置一个未装修的阶段,但是以下代码应
退出Javafx程序时,我将覆盖应用程序.stop(),以检查未保存的更改.这可以正常工作,但是很高兴为用户提供取消操作的选项. 解决方案 application.stop()换句话说,尽管它确实捕获了出口,但撤销退出过程有点晚. 更好的是为可以通过消费事件取消的关闭请求设置侦听器. 在应用程序类中: public void start(Stage stage) throws Exception { FXMLLoader ldr = new FXMLLoader(getClass() .getResource("Application.fxml")); Parent root = (Parent) ldr.load(); appCtrl = (ApplicationController) ldr.getController(); Scene scene = new Scene(root);
我刚刚开始第二个Javafx项目,我需要知道何时最大化A Stage.在秋千中,这非常简单,可以使用窗口列表/事件来完成.但是,在搜索Javafx的Javadoc之后,我似乎找不到任何聆听Stage状态的方式. 有什么办法做到这一点吗? 解决方案 找出Stage是否最小化,您可以收听iconified属性: stage.iconifiedProperty().addListener(new ChangeListener() { @Override public void changed(ObservableValue ov, Boolean t, Boolean t1) { System.out.println("minimized:" + t1.booleanValue()); } }); 通讯员maximized属性在即将到来的8.0版本中添加: stage
我正在尝试设置我动态拥有的IMG标签的SRC.以下代码从Eclipse运行时可行,但在将其作为运行JAR文件导出之后不行: doc.getElementById("user-thumb").setAttribute("src", selectedVcard.getThumb().getFilePath()); "用户thumb" ID获得的元素是图像.返回的拇指对象是我扩展的简单自定义图像视图,以保存更多信息,并使用以下方式初始化: public Thumb(String url) { super(url); this.setFilePath(url); getStyleClass().add("thumb"); } 方法getFilePath()从临时文件开始返回一条路径: file:/ ,但我已经尝试将其更改为 file:// 甚至: file:/// ,没有成功.我已经在这里搜索并搜索了搜索,但是每个答案都以
我使用Javafx WebView控件编写了浏览器.一切都很好,直到我尝试加载一个加密页面.我尝试 https://www.gmail.com ,我在例外情况下遇到了一个"未知错误"负载工人.这只有在我将应用程序作为独立的情况下包装时才会发生.当我在Netbeans运行该项目时,一切都很好.我猜这与SSL证书有关,但我尝试了几乎所有我能想到的一切,包括用" Keytool"在信托商店中导入每个证书,但没有任何作用. 有什么想法吗?非常感激.谢谢. 解决方案 从IDE(Eclipse,Netbean)启动时,您的浏览器是否可以与HTTPS站点一起使用? 如果是这样,区别可能是JRE. 您可能需要将文件sunjce_provider.jar复制到捆绑的jre. 我使用mac和sunjce_provider.jar位于/library/java/javavirtualmachines/jdk1.7.0_06.jdk/contents/contents/home/jre/lib/l
有没有办法在Javafx WebView组件中显示Java小程序?它不是支持的功能吗? 解决方案 否,您无法在WebView中显示一个小程序. WebView不支持插件技术,例如小程序. 其他解决方案 Javafx WebView不支持Applet,实际上,插件中的NetScape.jsobject.jar中有意残废.但是,您可以汇总您的applet支持代码,您可能对Webfx https://github.com/brunoborges/webfx ,有一些小程序支持示例代码 其他解决方案 您可以使用Sun.Applet.AppletViewer通过WebView打开小程序.浏览AppletViewer,您可以理解如何做. 这是您找到的url -我希望它能帮助您
有没有办法在Javafx 2.2 WebView上启用HTML5本地存储?无论我做什么,似乎都禁用/无法使用Javafx提供的WebView. 我什至使用 http://html5test.com 确实表明未启用本地存储. 可以有一个JS脚本可以启用它吗? 鉴于我无法控制正在加载到WebView的网页,还有其他选择. 谢谢 解决方案 HTML5未针对Javafx 2.2 WebView实现本地存储功能,因此没有办法使用该Javafx版本启用该功能. html5本地存储当前正在用于Java 8的WebView中,您可以获得与此相关的功能跟踪问题是: webview webview支持html-5 localstorage? inmart window window.localstorage Javafx问题跟踪器需要登录名才能访问,但是任何人都可以从登录页面注册.
我试图使用Javafx在WebView中打开网页.它正确打开了网页,但不支持基于AJAX的Web功能,例如部分刷新和新窗口弹出式处理 我正在使用以下代码 final Group group= new Group(); Scene scene= new Scene(group); fxpanel.setScene(scene); WebView webview = new WebView (); group.getChildren().add(webview); eng= webview.getEngine(); eng.setJavaScriptEnabled(true); try{ String url="http://www.abc.com"; eng.load(url); eng.setCreatePopupHandler(
我正在使用Javafx 2.2,我正在使用WebView在Javafx场景中集成HTML代码,并能够正确加载HTML.我正在关注 this 我在Java侧获得无效的值. 我已将接口对象保存在jsobject中,如以下 webEngine.getLoadWorker().stateProperty().addListener( new ChangeListener() { @Override public void changed(ObservableValue ov, State oldState, State newState) { if (newState == State.SUCCEEDED) { JSObject win = (JSObject)
在Javafx的WebView中,我正在努力检测URL的变化. 我在类中有这种方法: public Object urlchange() { engine.getLoadWorker().stateProperty().addListener(new ChangeListener() { @Override public void changed(ObservableValue ov, State oldState, State newState) { if (newState == Worker.State.SUCCEEDED) { return engine.getLocation()); } } }); } 我试图将其用于称为LoginBrowser的对象,例如: System.out
我们正在开发一个Javafx 2.x应用程序,该应用程序需要提供一些GIS支持.我们得出的结论是,通过嵌入式WebView使用GoogleMaps是最快的选项.问题在于,每次我们的应用程序启动时,都会下载相应的JavaScript库.这使开发非常困难,因为需要几秒钟才能在网络浏览面板上完成任何交互式. 想到的第一件事是拥有某种诸如Web浏览器的缓存,以存储库并在需要时在本地阅读它们. WebView如何实现这一目标?在我们的情况下,有其他替代方法吗? thanx. 解决方案 WebView组件不提供Web资源的缓存.但是,它确实利用Java.net堆栈进行网络通信.这意味着您可以安装自己的URL处理程序,该url处理程序可以与缓存交谈并提供该缓存的资源.例如,在javafx启动呼叫之前,将类似的东西放在main()方法中: URL.setURLStreamHandlerFactory(new URLStreamHandlerFactory() { pub
是否可以在WebEngine完成加载后自动运行任务?我知道我可以从WebEngine获得Worker来指示加载进度,但是似乎反复轮询Worker不是优雅的解决方案(即锁定程序直到页面加载).我知道我可以使用Task进行此操作,所以我可以以某种方式获得Task Task,并在完整命令上添加execute? 解决方案 基于webView.getEngine().getLoadWorker().stateProperty().addListener( new ChangeListener() { @Override public void changed( ObservableValue observable, Worker.State oldValue, Worker.State newValue ) { if( newValue != Worker.State.SUCCEEDED ) { return; }
我想在Javafx WebView中加载一些内容或页面,并向Java提供一个桥接对象,以便页面的内容可以在Java中进行调用. 此处描述了如何做到这一点的基本概念:现在我的问题是:什么时候好时光将桥梁对象注入WebView,以便尽快可用. 一个选项是在此处所述的页面加载后: > 但是,是否有一种方法可以更早地注入此(在初始化页面内容本身之前),因此桥梁对象可在页面载荷期间可用(不仅在Page-Load之后)? ? 解决方案 由于没有人回答,但我会告诉你我怎么做,尽管这很丑陋.这提供了页面在非Java环境中正常功能的能力,但在Java环境中接收Java对象. 我首先为WebEngine提供onStatusChanged处理程序.它听取window.status的魔术值.如果收到魔术值,则处理程序将安装Java对象. (就我而言,这更复杂,因为我有一些更复杂的编排:我正在执行一个为页面提供客户端API的脚本,然后在window.status上设置 使Java
我正在尝试使用Javafx在WebView中打开网页.当单击超链接 时,此网页将打开一个新的弹出窗口 尝试在默认的Web浏览器中打开同一网页时,我该如何打开新弹出窗口,例如Chrome,即它们正在打开弹出窗口. 用于创建弹出窗口,我正在使用以下代码. Group group= new Group(); Scene scene= new Scene(group); fxpanel.setScene(scene); WebView webview = new WebView (); group.getChildren().add(webview); it().getScreenSize().height); webview.setVisible(true); webview.getEngine().setOnAlert(null); eng= webview.getEngine(); eng.setJavaScriptEnabled(true); try
我想在我键入时立即在WebView内部打印HTML Textarea的内容. PS:由于某种原因,我尝试听webView的keyEvent keyEvent. 解决方案 如果您想将 javafx textarea的内容打印到WebView中,则应将侦听器添加到Textarea而不是WebView. 如果您想在 html textarea中聆听event 在WebView中的HTML页面中的标签,则应将侦听器添加到文档模型: // we need this to wait till document load webEngine.getLoadWorker().stateProperty().addListener(new ChangeListener() { public void changed(ObservableValue ov, State oldState, State newState) { if (newSta
我的浏览器(WebView)以HTML页面开头 filejava.class.getResource(" filehtml.html"). toexternalform() 每当我访问Google时,我都想知道浏览器是否检查,网络是否具有代理(代理人工作手册) 以便浏览器显示一个对话框输入用户名和密码. 解决方案 您可以使用ProxySelector检查代理.请参阅下一个示例: public class DetectProxy extends Application { private Pane root; @Override public void start(final Stage stage) throws URISyntaxException { root = new VBox(); List proxies = ProxySelector.getDefault().sel
我有一个项目,需要在桌面Java应用程序中嵌入Google Maps.我发现经过一些研究,Java FX确实提供了此功能,并开始将样本应用程序作为POC编写.该应用程序奏效了,一切都很好. 升级到新的7U7 Java版本后,我的代码不再像以前那样工作. 该代码运行并显示网页,但是没有手势(paning/Zooming)事件触发到网页(Google Maps),由于某些原因,当我clikc and Drag(好像要pan)时,我会得到我得到的封闭例外无法理解. 我将非常感谢某人在Javafx 2.2应用程序中可能对Google地图的隔离有任何洞察力. 预先感谢您的任何帮助和/或建议 以下是我的应用程序代码/HTML代码,而抛出的异常是: javafx代码: private Scene scene; private MyBrowser myBrowser; private LocationClickHandler handler; pr