JavaFx JFoenix Java9
所以我将Java从8更新为9,并且我确实意识到JFOENIX具有Java 9的单独的JAR文件. 但是,在下载JAR文件后,然后尝试像以前一样尝试导入场景构建器,什么也没有显示,当我尝试导入时,没有一个自定义控制器出现. 解决方案 首先,请确保您使用的是Gluon Scene Builder 9.0.1,可以从安装后,转到JAR/FXML Manager选项: 选择Search repositories: 类型JFoenix.选择第一个选项: 单击Add Jar.最新的依赖性将被使用.在这种情况下,com.jfoenix:jfoenix:9.0.1. 您会从库中找到所有控件: 最后单击Import Components.您可以通过从自定义窗格拖动控件来开始使用它们. 请注意,您还可以手动选择其他依赖关系版本,单击库管理器的Manually add Library from repository选项,然后根据组和文物选择所需的版本.
8 2023-08-21
编程技术问答社区
虽然JDK中存在JavaFx类,但Java无法找到这些类。
我目前正在使用JAVAFX为其UI处理应用程序.我正在使用Java 9.当我从Github撤离以继续在新计算机上开发并编译时,在Javafx类的所有参考文献和Javafx类中都有汇编错误. 我在JDK中搜索了外部资源,而Javafx软件包确实是应该的.我还使用相同的JDK制作了一个新项目,并打开了一个Javafx窗口,该窗口正常.这告诉我这是一个特定于项目的问题,而不是系统问题. 有人对此有深入的了解吗?谢谢. 编辑 我正在使用Intellij Comunity Ed.错误列表很广泛,但这里有一些 解决方案 您的IDE可能已将项目设置为"模块化" Java 9项目.在模块化项目中,您指定该项目取决于哪些其他模块,并且模块中的哪些软件包应暴露于其他模块.关于模块的良好总教程是在 openjdk wiki 中. 如果ClassPath root中有一个module-info.java文件,则需要明确说明您的模块需要访问适当的Javafx模块.添加 可能就足够
22 2023-03-23
编程技术问答社区
在Java 9中使用CcontrolsFX'的SpreadsheetView
我已经在Java 8中编写了一个controlSFX 8.40.14. 我在Java 9(jdk-9.0.1)下运行该应用程序,并且当应用程序试图显示电子表格视图组件时,我得到了以下例外. Exception in thread "JavaFX Application Thread" java.lang.NoSuchMethodError: javafx.scene.control.TableColumn.impl_setReorderable(Z)V at org.controlsfx.control.spreadsheet.SpreadsheetView.getTableColumn(SpreadsheetView.java:2216) at org.controlsfx.control.spreadsheet.SpreadsheetView.setGrid(SpreadsheetView.java:1162) at org.controlsfx.
48 2023-01-07
编程技术问答社区
javafx模块。在Java 9中找不到控件
我在两个文件中有两个JPMS模块:modulea.jar和moduleb.jar. Modulea需要javafx.controls模块.我需要在新层中使用这些模块,所以我这样做: ModuleFinder finder = ModuleFinder.of(modAPath, modBPath); ModuleLayer parent = ModuleLayer.boot(); Configuration cf = parent.configuration().resolveAndBind(finder, ModuleFinder.of(), new HashSet()); ClassLoader scl = ClassLoader.getSystemClassLoader(); ModuleLayer newLayer = parent.defineModulesWithOneLoader(cf, scl); 我认为JDK模块将自动加载,但我得到 Exception
76 2023-01-06
编程技术问答社区
传递对javafx的引用。应用应用
考虑一个非FX现有应用程序,我们称其为Business. Business露出Model对象,进而公开某些属性. Model还接受听众对这些属性的听众. 我的问题是关于在此应用中添加 javafx GUI. GuiApp显然扩展了javafx.application.Application,需要引用Model对象. 寻找用于将非弦乐参数传递到GuiApp的解决方案,我发现了几种不同的方法: 静态方法:例如,Business在GuiApp中初始化Model的静态引用.可以看到使用静电的一个示例在这里. javafx 9方法:如演示在这里您可以在不扩展Application的情况下启动Javafx应用程序. 更改工作流程方法:将现有的工作流更改为GuiApp初始化BusinessApp.可以看到这样的工作流的一个示例在这里. 还有另一种可行的方法吗?最佳实践 ? 解决方案 我将尝试演示一些不同的方法,以传递Java程序和Java-FX程序之间
24 2023-01-06
编程技术问答社区
JavaFX:更新到Java 9后出现奇怪的ClassNotFoundException
我在Java 8中启动了一个Maven项目,并希望将其迁移到Java9.与此同时,我也从Eclipse Neon EE到Eclipse oxygen ee. (重新安装JFX SDK). 虽然日食工作空间没有显示错误;一旦我尝试编译并运行与Java 8中完美运行的完全相同的程序,我会得到以下例外: {...} Caused by: java.lang.ClassNotFoundException: com.sun.javafx.css.converters.PaintConverter at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582) at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185) at java.base/jav
34 2023-01-06
编程技术问答社区
Java 9 JavaFX预加载程序
在Java 8中,我可以使用以下方法启动使用预加载器的Javafx应用程序: LauncherImpl.launchApplication(WindowMain.class, WindowMainPreloader.class, new String[]{...}); 我更喜欢从代码启动它,而不是使用部署配置,因为我不希望每次启动应用程序时启动图形界面应该以GUI模式运行. 我正在使用" com.sun.javafx.application.launcherimpl"类,但显然在Java 9中,所有以" com.sun"开头的类都被删除.那么,如何使用Java 9中的预加载器启动应用程序? 解决方案 对此问题的答案有评论: 如何创建如何创建Splash Screen作为Javafx独立应用程序中的预加载器? 系统属性javafx.preloader=classname似乎也起作用. 我没有尝试过,但是也许您可以尝试设置该属性,而只是通过publ
20 2023-01-06
编程技术问答社区
如何在Eclipse中为JavaFX类启用自动导入功能?
我目前的日食是氧气.2释放(4.7.2)和Java 9.0.1.本质上,Java 9的作品,尤其是自动导入作品(用于"普通"类和软件包),但是自动导入(和自动完成)对javafx.*不起作用.如果我手动键入import java并按 ctrl + space ,则匹配软件包的列表弹出,我可以看到javafx.*层次结构.但是当我键入例如import javafx.stage和按 ctrl + space 它会自动添加.*;,并且不显示包装中的任何类.当我在方法主体中的某个地方键入Stage时,按 ctrl + space 时,没有任何建议.但是,当我键入添加导入(例如import javafx.stage.Stage)时,请编译并运行. 任何线索如何修复自动完成和自动导入功能(正如我所说的那样,它适用于其他类,例如java.time.LocalDateTime或许多Othres). 解决方案 javafx*类在代码完成期间由于访问规则而被阻止,管理对系统软件包的访问.查看,
26 2023-01-06
编程技术问答社区
Java 9 javapacker可以';找不到jfxrt。创建bss时出现jar;。似乎完全被打断了��创建BSS�� Linux下的模式。如何避免该错误?
我有带有Sun JDE 9.0.1的Ubuntu Linux系统,我需要将FX的一些CSS文件转换为从控制台的二进制式. 但是当我执行命令时: javapackager -createbss -outdir . -srcdir . 我有一个错误: 错误:jfxrt.jar需要在-createbss和 -nocss2bin createjar 我的JDK已正确安装.我有所有必要的模块(包括FX). 有什么想法我如何避免一个愚蠢的错误,然后让打包器做它的工作? 如果我从"/usr/lib/jvm/java-9-oracle/jmods"目录中运行javapackager,则不会出错.因此,现在我正在使用一个丑陋的修复程序,搜索模块目录,使其最新,从那里运行包装器.但这真是丑陋. Javapackager不接受任何其他参数,而是OUTDIR,SRCDIR和SRCFILE,因此我无法强制加载或寻找JFX模块的路径.但是,环境变量或其他可能使修复程序变得不那么丑陋的技巧吗?
28 2023-01-06
编程技术问答社区
如何在JavaFX 9中查找TableView中可见行的索引
如何在Javafx 9中的表观视图中获得可见行的索引?在Javafx 8中,我可以做以下操作: // --- The offending imports in Java 9 // import com.sun.javafx.scene.control.skin.TableViewSkin; // import com.sun.javafx.scene.control.skin.VirtualFlow; /** * This is a total hack. We need it as scrollTo jumps the selected * row to the top of the table. Jarring if the row is already * visible. As a workaround, we only scroll if the row isn't already * visible * * @re
14 2023-01-06
编程技术问答社区
如何在不使用showAndWait的情况下在JavaFX应用程序线程上等待用户输入?
我想暂停 JavaFX 应用程序线程上方法的执行,并等待用户与 UI 进行交互.重要的是不要冻结 UI. 例子: Button start = ... Button resume = ... start.setOnAction(evt -> { System.out.println("starting"); start.setDisable(true); System.out.println("please press resume button."); pause(); System.out.println("done"); start.setDisable(false); }); resume.setOnAction(evt -> resume()); 我应该如何实现 pause() 和 resume() 方法? 事件处理程序的执行应该在 pause(); 调用时等待,直到用户按下 resume 按钮并调用
1904 2022-07-19
编程技术问答社区