我正在尝试学习JavaFX 2.0 + FXML,我发现制作fxml文件有点不舒服,不知道我可以放入什么,我不能.我的意思是FXML中哪些标签是可能的,哪些属性是evety标签?值evety属性可以具有哪些值,等等.Web中有一些示例,但它们没有显示FXML的漏洞功能.我曾尝试将NetBeans和Eclipse插件用于JavaFX 2.0,但是,它们都没有FXML的任何内容,它们只是验证开放式标签和其他简单的东西,这是evety XML编辑器可以做到的.也许我错误地配置了这些插件.那么,是否有任何文献显示FXML的完整参考(所有标签,属性及其可能值)?
我有我的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) 我遇到了html标签的两个奇怪属性 .它们是 "data-url"和"data-key".
它们是什么以及如何使用它们?
由于某些原因,我无法显示我发现它们的HTML文件的确切示例,但这里有一些带有这些标记的Web示例:
PS:我试过谷歌,但没有找到有用的结果.
我有一个带FXML的JavaFX 2.0应用程序.我希望在调整带有应用程序的窗口时调整组件(TextFields,ComboBoxes,layouts等)的大小.所以...
使用JavaFX构建GUI应用程序时,您会注意到API中的某些类已经实现了属性.例如,
javafx.scene.shape.Rectangle类包含的属性arcHeight,arcWidth,height,width,x,和y.对于这些属性中的每一个,将存在与先前描述的约定匹配的对应方法.例如getArcHeight(),setArcHeight(double),arcHeightProperty(),它们共同表明(对开发人员和工具)给定的属性存在.*
要将监听器添加到舞台,我必须执行以下操作:
stage.resizableProperty().addListener(new ChangeListener<Boolean>(){
@Override
public void changed(ObservableValue<? extends Boolean> arg0, Boolean arg1, Boolean arg2){
throw new UnsupportedOperationException("Not supported yet.");
}
});
Run Code Online (Sandbox Code Playgroud)所以有两个问题:
那么,我该如何解决我的问题呢?
UPD.关于Scene Builder到Sergey Grinev:当我在我的组件上使用 Ctrl + K(告诉它占据其父组件的整个区域)时 - 一切正常.
但是如果我想告诉我的组件占据50%的面积呢?例如,我有一个带有两个VBox的标签.标签的宽度为100px.Vbox的宽度分别为50px.VBox1的x1 = 0,x2 = 50,VBox2的x1 …
我有JavaFX 2.0应用程序,它包含两个FXML文件,以及两个用于它们的控制器+一个"主".java文件.
在开始时,FXML1被初始化,如下所示:
public void start(Stage stage) throws Exception {
stage.setTitle("Demo Jabber JavaFX Chat");
Parent root = FXMLLoader.load(getClass().getResource("fxml_example.fxml"),
ResourceBundle.getBundle("fxmlexample.fxml_example"));
Scene scene = new Scene(root, 226, 264);
stage.setScene(scene);
scene.getStylesheets().add("fxmlexample/fxmlstylesheet.css");
stage.show();
}
Run Code Online (Sandbox Code Playgroud)
然后,当单击来自scene1的按钮时,在Controller1类的事件处理程序中,我更改scene1 root,以显示用户的新gui-view.在这个控制器中我初始化了一些对象.例如这样:
public class FXMLExampleController {
//some fields...
private MySuperObject c;
@FXML protected void handleSubmitButtonAction(ActionEvent event) {
//some fields...
c = new MySuperObject(); //here i initialize my object, i'm interested in
try {
c.login(username, password); // some actions with this object, which i need to make.
Scene cc = buttonStatusText.getScene(); …Run Code Online (Sandbox Code Playgroud) 我有javaFX项目,我正在使用Eclipse IDE.这是使用Spring的Maven项目.我的目标是从这个项目中创建可运行的jar文件(dekstop应用程序).
如果我像任何其他java项目一样将我的应用程序导出到jar文件,那么我会在错误时收到:
C:\eclipse\projjars>java -jar EqMan.jar
Exception in thread "main" java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: Can't load library: C:\eclipse\bin\glass.dll
at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:276)
at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:122)
at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:163)
at com.sun.javafx.application.LauncherImpl.access$000(LauncherImpl.java:47)
at com.sun.javafx.application.LauncherImpl$1.run(LauncherImpl.java:115)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.UnsatisfiedLinkError: Can't load library: C:\eclipse\bin\glass.dll
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.load0(Unknown Source)
at java.lang.System.load(Unknown Source)
at com.sun.glass.utils.NativeLibLoader.loadLibraryFullPath(NativeLibLoader.java:143)
at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:56)
at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:31)
at com.sun.glass.ui.Application$1.run(Application.java:75)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.glass.ui.Application.loadNativeLibrary(Application.java:73)
at com.sun.glass.ui.Application.loadNativeLibrary(Application.java:85)
at com.sun.glass.ui.win.WinApplication.<clinit>(WinApplication.java:33)
at com.sun.glass.ui.win.WinPlatformFactory.createApplication(WinPlatformFactory.java:20)
at com.sun.glass.ui.win.WinPlatformFactory.createApplication(WinPlatformFactory.java:17)
at com.sun.glass.ui.Application.Run(Application.java:108)
at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:266)
... 5 more
Run Code Online (Sandbox Code Playgroud)
如果我正在尝试用javafxpackager制作jar文件,我收到这个错误:
C:\eclipse\workspace\equification>javafxpackager -makeall -appclass ru.igs.ava.equification.EquificationFX -name "Equification" …Run Code Online (Sandbox Code Playgroud) 是否可以使用多行标题制作javaFX 2.0表?我在网上找到的所有例子都有表格,其中columnt header width =它的文本大小,没有包装.我所拥有的,以及我需要的东西的显示在屏幕上显示:
我有使用FXML构建GUI的JavaFX应用程序.
当这个应用程序启动时,我需要有ListView,它有一些值,例如,从数据库加载.那么,我该怎么做呢?
我知道如何创建应用程序,在用户单击按钮后将项目加载到ListView,或类似的东西(FXML中的"onAction"属性).但这不适合我,因为我需要将项目自动加载到ListView.
我有一个带有很多控件的GUI应用程序.他们中的大多数都有事件和控制在逻辑上连接到那里.例如,我有5个组合框.如果让我选择的东西CB1和CB3他们CB2必须改变其可用值的列表.如果我选择cb2和ch4中的某些内容,则cb5必须加载其可用值列表.我在网上找到的所有文章都说我应该在这种情况下使用中介模式.但在所有这些文章中,调解员 - 就像一个上帝阶级,它知道所有控制的一切,并决定在某些事件的情况下应该做什么.如果我有5-6个控制器 - 一切都好.但是如果我有20或40个控制器呢?我想在这种情况下,调解员类将成为一个怪物.用它做一些事情很难(修改或添加新功能).
是否有任何其他模式,或调解员pathern的良好例子,这将有助于解决这种情况?
PS:对不起,如果已经有关于这个主题的问题 - 有很多同名的问题,那么从所有这些主题中找到我真正需要的东西并不容易.
javafx-2 ×7
fxml ×5
javafx ×4
architecture ×1
dom ×1
html ×1
java ×1
listview ×1
spring ×1
spring-boot ×1
spring-ws ×1
web ×1
web-services ×1