标签: openjfx

我无法使用NetFX 11和JavaFX 12调试应用程序

我已经下载了支持Java 12的netbeans 11,所以我从运行JavaFX和Netbeans Non module with Maven的Gluon网页上进行了后续操作> https://openjfx.io/openjfx-docs/#next-steps

我已按照说明中的说明配置了运行此应用的操作。

运行Project clean javafx:run

但是没有指定任何调试项目的内容。有没有办法调试这个javaFX项目?

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.mycompany</groupId>
    <artifactId>SimonSaysGFX</artifactId>
    <version>1.0.0-SNAPSHOT</version>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>12</maven.compiler.source>
        <maven.compiler.target>12</maven.compiler.target>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>12.0.1</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-media</artifactId>
            <version>12.0.1</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-fxml</artifactId>
            <version>12.0.1</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.0</version>
                <configuration>
                    <release>12</release>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>0.0.2</version>
                <configuration>
                    <mainClass>com.mycompany.simonsaysgfx.App</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>
    <name>SimonSaysGFX</name>
</project>
Run Code Online (Sandbox Code Playgroud)

netbeans javafx openjfx javafx-11

4
推荐指数
2
解决办法
676
查看次数

Javafx 椭圆和圆弧是真的吗?或者只是近似值?

我正在关注OpenJFX 的源代码。唯一PathIterator支持SEG_LINETO, SEG_QUADTO, SEG_CUBICTO,即直线和二次/三次 B\xc3\xa9zier 曲线。ArcIteratorEllipseIterator返回SEG_CUBICTO,这意味着它将使用三次 B\xc3\xa9zier 曲线段。由于三次 B\xc3\xa9zier 曲线无法准确表示椭圆,因此我认为 Javafx 椭圆和弧不是真实的,而是实际上的近似值。这是正确的吗?

\n

java bezier javafx ellipse openjfx

4
推荐指数
1
解决办法
89
查看次数

SceneBuilder 中 JavaFX 自定义组件的使用

我正在使用 Java 20、JavaFX 20 和 Maven 创建一个小型个人项目。我在创建可重用组件并通过主场景的控制器操作它们时遇到问题。

首先,我按照官方文档中列出的步骤进行操作。之后,我转到 SceneBuilder 并在 SceneBuilder 中导入自定义组件的 FXML 文件(单击小引擎图标,其中显示“库”-> JAR/FXML Manager -> 从文件系统添加库/FXML)并将其添加到就像使用任何默认组件一样的场景。然后,我为自定义组件提供了一个 fx:id 并将其添加到场景的控制器类中,以便我可以使用它,但出现以下错误。

Exception in Application start method
java.lang.reflect.InvocationTargetException
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:119)
    at java.base/java.lang.reflect.Method.invoke(Method.java:578)
    at javafx.graphics@20/com.sun.javafx.application.LauncherImpl.launchApplicationWithArgs(LauncherImpl.java:464)
    at javafx.graphics@20/com.sun.javafx.application.LauncherImpl.launchApplication(LauncherImpl.java:363)
    at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104)
    at java.base/java.lang.reflect.Method.invoke(Method.java:578)
    at java.base/sun.launcher.LauncherHelper$FXHelper.main(LauncherHelper.java:1081)
Caused by: java.lang.RuntimeException: Exception in Application start method
    at javafx.graphics@20/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:893)
    at javafx.graphics@20/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
    at java.base/java.lang.Thread.run(Thread.java:1623)
Caused by: javafx.fxml.LoadException: 
/C:/Users/user/Desktop/eclipse-workspace/Project 3/target/classes/app/views/fxml/Menu.fxml:43

    at javafx.fxml@20/javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2722)
    at javafx.fxml@20/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2700)
    at javafx.fxml@20/javafx.fxml.FXMLLoader.loadImpl(FXMLLoader.java:2563)
    at javafx.fxml@20/javafx.fxml.FXMLLoader.load(FXMLLoader.java:2531)
    at app/app.Main.loadFXML(Main.java:29)
    at app/app.Main.start(Main.java:17)
    at javafx.graphics@20/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:839)
    at javafx.graphics@20/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:483)
    at javafx.graphics@20/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:456)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:400) …
Run Code Online (Sandbox Code Playgroud)

java javafx scenebuilder openjfx

4
推荐指数
1
解决办法
974
查看次数

JavaFX 是否在 macOS 上使用新的基于 Metal 的 Java 渲染?

JavaFX/ OpenJFX的最新版本(19、20 等)是否使用为 macOS 上的 Java 构建的新Metal渲染来取代 OpenGL?

JEP 382:新的 macOS 渲染管道

这个新管道成为Java 19 中的默认管道

java javafx metal openjfx

4
推荐指数
1
解决办法
262
查看次数

Gradle OpenJFx11:错误-JavaFx运行时组件丢失

上下文:尝试使用OpenJdK11和OpenJFx11创建一个简单的JavaFx应用程序

问题:尝试执行时出现以下错误

Error: JavaFX runtime components are missing, and are required to run this application
Run Code Online (Sandbox Code Playgroud)

我提到了Link1Link2。我还提到了“ JavaFx11入门”- 链接 正如我在尝试指定运行配置时在入门中所建议的那样,我收到一条消息,如下所示

run' in 'build' cannot be applied to '(groovy.lang.Closure)' less... (Ctrl+F1) 
Run Code Online (Sandbox Code Playgroud)

图片

希望面临的问题是明确的,并等待我出问题的地方。(使用IntelliJ ide)

码:

主-

public class Main extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
    Parent root = FXMLLoader.load(getClass().getResource("/Sample.fxml"));
    StackPane stackPane = new StackPane(root);
    Scene scene = new Scene(stackPane);
    primaryStage.initStyle(StageStyle.TRANSPARENT);
    primaryStage.setScene(scene);
    primaryStage.show();

}
}
Run Code Online (Sandbox Code Playgroud)

FXML-

<?xml version="1.0" encoding="UTF-8"?>

<?import javafx.scene.layout.AnchorPane?>
<AnchorPane xmlns="http://javafx.com/javafx" …
Run Code Online (Sandbox Code Playgroud)

java javafx intellij-idea gradle openjfx

3
推荐指数
1
解决办法
3537
查看次数

JFXPanel setScene 冻结与 Java 11

我想将 openjfx 集成到我的 Java 11 代码中。在 Windows 10 上使用 IntelliJ IDEA 2018.2.6,我创建了一个测试项目并尝试了下面的代码

import javafx.embed.swing.JFXPanel;
import javafx.scene.Scene;
import javafx.scene.control.TabPane;

public class Java11FXTestApplication {



    public static void main(String[] args) {
        JFXPanel dummyPanel;
        TabPane dummyTabPane;
        Scene dummyScene;
        System.out.println("Creating JFX Panel");
        dummyPanel = new JFXPanel();
        System.out.println("Creating  TabPane");
        dummyTabPane = new TabPane();
        System.out.println("Creating  Scene");
        dummyScene = new Scene(dummyTabPane);
        System.out.println("Setting  Scene");
        dummyPanel.setScene(dummyScene); //Freezing here
        System.out.println("Scene Created");
    }
}
Run Code Online (Sandbox Code Playgroud)

此代码在 setScene() 方法调用中冻结。我尝试调试它,发现它的代码在 JFXPanel.setScene 方法中的 secondaryLoop.enter() 调用中无限期地等待。任何想法为什么?

此代码在 JDK-8 中运行良好,但不适用于 java-11.0.1。

我对这个问题一无所知,有点卡在 Java11 JavaFX 问题上。代码有问题吗?或任何报告的 javafx for java11 …

java windows openjfx java-11

3
推荐指数
1
解决办法
881
查看次数

使用 OpenJDK 10 和 OpenJFX 的 MacOS X 上的 JavaFX 中的 HeadlessException

我收到错误

java.awt.HeadlessException: null
    at java.desktop/java.awt.Desktop.getDesktop(Desktop.java:306) ~[na:na]
Run Code Online (Sandbox Code Playgroud)

打电话时

Desktop.getDesktop().open(pdfFile);
Run Code Online (Sandbox Code Playgroud)

我正在使用此版本的 OpenJDK

java 10.0.2 2018-07-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)
Run Code Online (Sandbox Code Playgroud)

和 OpenJFXjavafx-sdk-11MacOS 10.14.2.

为什么 JVM 在 MacOS 上以无头模式运行?如何在没有无头模式的情况下运行它?

java macos javafx openjfx

3
推荐指数
1
解决办法
451
查看次数

获取错误:缺少 JavaFX 运行时组件,需要在打开可执行 jar 时运行此应用程序

我已经构建executable jar使用NetBeans IDE 11.0但是当我打开 jar 使用时:

hemlata@hemlata-pc:~/NetBeansProjects/Sizing/dist$ java -jar Sizing.jar 
Run Code Online (Sandbox Code Playgroud)

我越来越

Error: JavaFX runtime components are missing, and are required to run this application
Run Code Online (Sandbox Code Playgroud)

我使用的是OpenJDK 11OpenJFX 11Debian 10

我已经添加modulesvm option

--module-path /usr/lib/jvm/openjfx11/lib/ --add-modules javafx.controls,javafx.fxml  
Run Code Online (Sandbox Code Playgroud)

但这不是问题。

那么如何配置JavaFX runtime components缺少的呢?

java javafx openjfx debian-buster openjdk-11

3
推荐指数
1
解决办法
6225
查看次数

来自模型类的正确 getter 上的 PropertyValueFactory 错误

我正在尝试从 fxml 文件填充示例 javafx TableView。

这是我的控制器方法:

public class TestController implements Initializable {


       @FXML private TableView<user> tableView;
        @FXML private TableColumn<user, String> UserId;
        @FXML private TableColumn<user, String> UserName;


        public void initialize(URL location, ResourceBundle resources) {
            UserId.setCellValueFactory(new PropertyValueFactory<user, String>("userId"));
            UserName.setCellValueFactory(new PropertyValueFactory<user, String>("userName"));


            tableView.getItems().setAll(parseUserList());
        }
        private List<user> parseUserList(){

            List<user> l_u = new ArrayList<user>();

            user u = new user();
            u.setUserId(1);
            u.setUserName("test1");
            l_u.add(u);

            u.setUserId(2);
            u.setUserName("test2");
            l_u.add(u);

            u.setUserId(3);
            u.setUserName("test3");
            l_u.add(u);


            return l_u;
        }

}
Run Code Online (Sandbox Code Playgroud)

和 fxml 文件:

<BorderPane maxHeight="-Infinity" maxWidth="-Infinity" minHeight="-Infinity" minWidth="-Infinity" prefHeight="369.0" prefWidth="505.0" xmlns="http://javafx.com/javafx/11.0.1" xmlns:fx="http://javafx.com/fxml/1" fx:controller="viewmodel.TestController …
Run Code Online (Sandbox Code Playgroud)

java javafx openjfx

2
推荐指数
1
解决办法
2342
查看次数

Java JDK 11 版本与 JavaFX 的兼容性

高版本的 openjfx 可以和低版本的 jdk 一起使用吗?例如,我想同时使用 AdoptOpenJDK 11.0.6 和 OpenJFX 13.0.2,这样做是否可能/建议?

java javafx openjfx

2
推荐指数
1
解决办法
612
查看次数