Tag: javafx 8

从JavaFX Label中删除填充/边距

有没有办法删除JavaFX标签添加的默认空间(填充/边距)? 我想摆脱下图中黑线之间显示的空间: 源代码: public class LabelTest extends Application { @Override public void start(final Stage primaryStage) { final Group root = new Group(); final Scene scene = new Scene(root, 300, 130, Color.WHITE); final GridPane gridpane = new GridPane(); gridpane.setPadding(new Insets(5)); gridpane.setHgap(10); gridpane.setVgap(10); final Label label = new Label(“Label”); label.setStyle(“-fx-font-size:44px;-fx-font-weight: bold;-fx-text-fill:#5E34B1;-fx-background-color:#ffc300;”); GridPane.setHalignment(label, HPos.CENTER); gridpane.add(label, 0, 0); root.getChildren().add(gridpane); […]

JAVAFx构建失败

我使用JavaFx for windows创建了一个应用程序,这非常酷。 我可以从e(fx)clipse运行它,everthing工作正常,但我不能从项目中制作一个jar文件。 我可以导出它(右击 – >导出 – >可运行的Jar文件)。 但是,如果我在MAC OS X上运行jar,在菜单栏中我得到“java”menuitem而不是我的应用程序名称,我真的不喜欢。 我搜索了如何隐藏该menuitem,或者只是重命名它,我发现我必须在build.fxbuild文件中重命名“Application title *”。 现在我无法建立它。 所以这就是我真正想要的:在Mac OS X中删除/隐藏/重命名“java”menuitem。如果您有任何经验,请与我分享。 我将非常感激:)。 我尝试运行build.xml文件时收到以下错误: [javac] Compiling 22 source files to C:\Users\Hassan\Desktop\Programming\workspace\Raktar_vevo 2.7\build\classes [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.7 [javac] Note: C:\Users\Hassan\Desktop\Programming\workspace\Raktar_vevo 2.7\build\src\application\SajátKészlet.java uses unchecked or unsafe operations. [javac] Note: Recompile with […]

如何使RadioButton看起来像JavaFX中的常规Button

我正在实现一个类似工具箱的窗格,因此用户一次只能选择一个工具,并且我从Button切换到RadioButton的行为。 但是我发现RadioButton使用自己带有点的皮肤,但是我仍然希望它像普通的Button一样显示。 我是JavaFX和FXML的初学者,所以任何人都知道如何实现这一目标?

如何绕过JavaFX的TableView“占位符”?

JavaFX的TableView有一个占位符属性,它基本上是一个Node ,只要它是空的就会在TableView显示。 如果此属性设置为null(其默认值),则它将显示为Label或其他基于文本的Node ,其中显示“表中没有内容”。 但是如果表中有任何数据行,则占位符Node消失,并且TableView的整个垂直空间将填充行,如果没有足够的数据填充整个表,则包括空行。 即使表是空的 ,这些空行也是我想要的。 换句话说,我根本不想使用占位符。 有谁知道我怎么做到这一点? 我宁愿不做什么事情就像在TableView放一个看起来很空的行一样。

System.getProperty(“line.separator”)之间的区别; 和“\ n”?

在使用Java FX开发GUI时,我似乎使用System.getProperty(“line.separator”)获得了不同的结果; 在写入文件或从互联网获取数据时写入“\ n”。 基本上有什么区别?

有没有办法快速编译/加载fxml文件只有一次,而不是每次重启应用程序?

我有一个程序,在执行时加载许多fxml文件。 应用程序将在短时间内完成,加载应用程序只需要很长时间。 有许多fxml文件(20+),所有这些fxml文件都加载了Java代码。 应用程序已完成并可以使用,但每次执行程序时都会加载所有文件。 fxml文件只能编译一次,因为完成后它们不会被更改吗? java代码当然会编译一次,它只是fxml文件。 应用程序现在需要25秒才能启动,加载fxml需要14秒。 有没有办法让这一切更快? 编辑#1: 是否有免费提供的工具可以更快地执行应用程序(Java)? 或者执行时间仅取决于程序的编写方式? 哪种设计模式可以帮助缩短应用程序的执行时间? 编辑#2: 以下代码将简要解释我的问题: package main; ……. ……. public class MainClass { …. …. List controllerList; public mainClass(List controllerList) { this.controllerList = otherClass.getControllerList(); loadFXMLFiles(); } public void loadFXMLFiles() { for(InformationController controller : controllerList) { controller.loadFXML(); } doOtherStuff(); } …. } 所有这些InformationControllers也加载了其他fxml文件,所以它实际上是一个加载的fxml文件树。 这是在应用程序的每次启动时加载的,所以有没有办法只加载一次这样做?

加载FXML时解析“onAction”时出错

我在运行一个简单的hello world应用程序时遇到了一些问题。 它抛出以下错误: Exception in Application start method Exception in thread “main” java.lang.RuntimeException: Exception in Application start method at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:917) at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$152(LauncherImpl.java:182) at com.sun.javafx.application.LauncherImpl$$Lambda$2/1329552164.run(Unknown Source) at java.lang.Thread.run(Thread.java:745) Caused by: javafx.fxml.LoadException: Error resolving onAction=’#printHello’, either the event handler is not in the Namespace or there is an error in the script. /home/willi/java/IdeaProjects/JavaFXApp/out/production/JavaFXApp/sample/sample.fxml:23 at javafx.fxml.FXMLLoader.constructLoadException(FXMLLoader.java:2601) at javafx.fxml.FXMLLoader.access$100(FXMLLoader.java:104) […]

在自包含JavaFX应用程序中包含图标

我一直在与这个战斗超过一天,并在SO和其他地方阅读了很多post,但我仍然遇到问题。 我需要在自包含的JavaFX应用程序包中包含我的应用程序图标。 我正在使用JDK 1.8.0_45及其包含的JavaFX包。 我正在使用Maven来构建.exe并且它一切都很好,除了我不能得到我的图标。 这是我的pom.xml: 4.0.0 2.2.1 com.mycompany.drm DRMDashboard 2.0 UTF-8 8.0.45 org.apache.maven.plugins maven-compiler-plugin 3.3 1.8 1.8 org.apache.maven.plugins maven-dependency-plugin 2.10 copy-dependencies package false false true copy-dependencies org.apache.maven.plugins maven-jar-plugin 2.6 ${javafx.version}+ com.mycompany.client.HelloWorld 2.0 com.mycompany.client.HelloWorld javafx-${javafx.version}.jar true org.apache.maven.plugins maven-antrun-plugin 1.6 package run com.oracle ant-javafx ${javafx.version} ${java.home}/../lib/ant-javafx.jar system DRMDashboard 编辑1:这是我的文件浏览器的屏幕截图: 编辑2:这是扩展目标文件夹的屏幕截图: 当我使用verbose标志执行构建时,我收到以下消息: main: No base JDK. Package […]

如何在我的应用程序的java fx 2.0中更改舞台标题栏上的图标

我试过了 stage.getIcons().add(new Image(“attuncore.jpg”)); 但我不知道出了什么问题.. 请帮忙。 提前致谢。

在JavaFX Spinner中手动输入文本不会更新值(除非用户按ENTER键)

似乎Spinner控件在用户明确按Enter键之前不会更新手动键入的值。 因此,他们可以键入一个值(不按回车键)退出控件,并提交表单,并且微调器中显示的值不是微调器的值,它是旧值。 我的想法是为丢失的焦点事件添加一个监听器,但我看不到一种获取输入值的方法? spinner.focusedProperty().addListener((observable, oldValue, newValue) -> { //if focus lost if(!newValue) { //somehow get the text the user typed in? } }); 这是奇怪的行为,它似乎违反了GUI微调控件的惯例。