我有我的JavaFX 2.0应用程序,在用户单击ListView元素中的项目后,我需要做一些操作.要构建用户GUI我正在使用FXML,其中我有这样的东西:
<children>
<ListView fx:id="listView" GridPane.columnIndex="0"
GridPane.rowIndex="1" labelFor="$pane"
onPropertyChange="#handleListViewAction"/>
</children>
Run Code Online (Sandbox Code Playgroud)
这是我在控制器中为此事件所拥有的:
@FXML protected void handleListViewAction(ActionEvent event) {
System.out.println("OK");
}
Run Code Online (Sandbox Code Playgroud)
这是一个错误,我接受,当这个gui构建的场景:
javafx.fxml.LoadException: java.lang.String does not define a property model for "property".
at javafx.fxml.FXMLLoader$Element.processEventHandlerAttributes(Unknown Source)
at javafx.fxml.FXMLLoader$ValueElement.processEndElement(Unknown Source)
at javafx.fxml.FXMLLoader.processEndElement(Unknown Source)
at javafx.fxml.FXMLLoader.load(Unknown Source)
at javafx.fxml.FXMLLoader.load(Unknown Source)
at javafx.fxml.FXMLLoader.load(Unknown Source)
at fxmlexample.FXMLExampleController.handleSubmitButtonAction(FXMLExampleController.java:49)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at javafx.fxml.FXMLLoader$ControllerMethodEventHandler.handle(Unknown Source)
at com.sun.javafx.event.CompositeEventHandler.dispatchBubblingEvent(Unknown Source)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
at com.sun.javafx.event.EventHandlerManager.dispatchBubblingEvent(Unknown Source)
at com.sun.javafx.event.CompositeEventDispatcher.dispatchBubblingEvent(Unknown Source)
at com.sun.javafx.event.BasicEventDispatcher.dispatchEvent(Unknown Source)
at com.sun.javafx.event.EventDispatchChainImpl.dispatchEvent(Unknown Source) …Run Code Online (Sandbox Code Playgroud) 我正在制作JavaFX destop应用程序.我想删除默认的Windows边框,我也想自定义最小化,最大化和关闭的3个标准图标.
这种外观或定制的最初动机是新的卡巴斯基2012用户界面....我想设计类似的东西...... :)
我试图像我提出的例子一样创建一个启动画面.似乎AnchorPane不允许透明背景,我已经尝试设置了AnchorPaneto 的css -fx-background-color: rgba(255,0,255,0.1) ;但白色背景仍然显示.
我在fxml文件中的所有内容都是带有ImageView的AnchorPane,其中包含png图像
我到处寻找,但找不到任何解决方案,任何帮助将不胜感激.谢谢
首先,我是编码领域的新人.我需要在我的基于javaFXML的应用程序中嵌入一个字体,不知道该怎么做.我已经将字体粘贴在fontName.ttf项目源根目录中的"resources"文件夹中,即App/src/app/resources.我已将组件(文本)的CSS设置为
#text {
-fx-font-family: url(resources/fontName.ttf);
}
Run Code Online (Sandbox Code Playgroud)
我也尝试在url中添加引号,即url("resources/fontName.ttf");,但它不起作用.我还为组件设置了css id,这样就不会出现问题了.还有其他工作方式吗?我见过http://fxexperience.com/2010/05/how-to-embed-fonts/,但由于我有jdk 1.7 u21,它不起作用.有关正确嵌入字体的方法的想法吗?
我想重写FXMLLoaderJDK 8 的实现并重新编译.
哪里可以找到JDK8/JavaFX 8的源代码?
我正在使用Javafx Eclipse创建一个程序,当我使用Scene Builder打开程序时出现错误
这是错误:
Opening the file with SceneBuilder failed.
Try setting the absolute path to scenebuilder in your preferences
Run Code Online (Sandbox Code Playgroud) 我没有找到这两个问题的简单答案:
在删除属性实例之前是否必须删除侦听器(在其他任何地方都不使用侦听器)?
BooleanProperty bool = new SimpleBooleanProperty();
bool.addListener(myListener);
bool.removeListener(myListener); // is it necessary to do this?
bool = null;
Run Code Online (Sandbox Code Playgroud)在删除属性实例之前,我是否必须取消绑定单向有界属性?
BooleanProperty bool = new SimpleBooleanProperty();
bool.bind(otherBool);
bool.unbind(); // is it necessary to do this?
bool = null;
Run Code Online (Sandbox Code Playgroud)如何在JavaFX/ScalaFX应用程序中运行Akka actor?
(这是基于第一个答案的问题更新)
解决方案是共享相同的执行上下文吗?是否有基于JavaFx ExecutorService的Actors调度程序?(运行UI操作代码的那个)
这是否意味着一个代理将代表UI并能够操纵它?我的意思是因为如果在UI ExecutorService上有几个actor,建议如下,这是不是意味着在代理(对象是UI)之间共享一个状态?
2个演员可以在不同的执行器服务上进行通信吗?我问这个是因为根据下面的建议,一些代理将在UI Executor服务上,而其他代理不在.
最后,为什么使用akka,它的Executor上下文不同并使用Platform.runLater,可能会对UI的性能产生一些影响.我在同一个应用程序中提出了多个执行程序服务的问题:那是不是很糟糕?
ControlsFX类Dialogs标记为已弃用.
用什么代替?
我有一个JavaFX(JDK 8)桌面业务应用程序,它使用Java Web Start进行部署.用户安装了Java 8,他们只需转到URL(我的AWS Linux服务器上的公共URL),然后下载/启动应用程序(使用Web Start).我也可以通过将新JAR部署到服务器来轻松更新应用程序.一切都很好.
但是,Oracle已经停止了使用Java 11的Web Start,并且在2018年3月的"Java客户端路线图更新"白皮书中,他们建议将JRE与应用程序捆绑在一起("应用程序的概念是从独立的JRE单独分发的,因此,快速消退.").我不能依赖我的用户留在Java 8 for Web Start,即使他们仍然保持在8,Oracle也需要许可才能继续使用Java 8(我没有,可能非常昂贵,我更喜欢无论如何与社区一起走向JavaFX 11和OpenJDK).
我想迁移到JavaFX 11.我遵循OpenJFX的"JavaFX11入门"(https://openjfx.io/openjfx-docs/),使用OpenJDK 11.0.1和Gluon的JavaFX SDK 11.0.1(在Netbeans 10vc2上) ),并且已经能够运行示例应用程序(在我看来,我应该能够非常轻松地将我的JavaFX 8代码移植到JavaFX 11).
然而,这是我被困在方向的地方.如何将其与JRE捆绑在一起并将其部署到我的最终用户(并提供应用程序更新)?那里有一个简单的方法(甚至是艰难的方式,有一些方向/指南)?
我可以花几百个小时在JavaFX 11中编写富有表现力,丰富且有用的桌面业务应用程序,但我该怎么做呢?
部署工具包(如JWrapper,InstallAnywhere等)是否适合Java 11的这个新时代?Gluon/openjfx.io可能有我错过的推荐或指南吗?我似乎无法从信誉良好的来源找到任何建议或指南,因为我们开发人员如何专注于编写前端代码,以便部署应用程序.
感谢您的帮助或指导.