Articles of javafx

启动时出现JavaFX NullPointerException

我试图运行一个非常简单的JavaFX程序,使用从Eclipse或命令行运行的Linux上的Oracle JVM(1.7u13)(我拥有正确版本的GTK)。 当它启动时,会引发一个呻吟,关于字体的exception。 Font.getDefault()也可以导致相同的NPE。 我可以使用Font.getFontNames()列出可用的字体,我可以看到包括“System Regular”在内的我认为是默认的字体。 任何想法非常感谢! 堆栈跟踪…. 线程“main”中的exceptionjava.lang.RuntimeException:Application start方法中的exception 在com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:403) 在com.sun.javafx.application.LauncherImpl.access $ 000(LauncherImpl.java:47) 在com.sun.javafx.application.LauncherImpl $ 1.run(LauncherImpl.java:115) 在java.lang.Thread.run(Thread.java:722) 引起:java.lang.NullPointerException 在com.sun.t2k.LogicalFont。(LogicalFont.java:172) 在com.sun.t2k.LogicalFont.getLogicalFont(LogicalFont.java:104) 在com.sun.t2k.LogicalFont.getLogicalFont(LogicalFont.java:144) 在com.sun.t2k.T2KFontFactory.createFont(T2KFontFactory.java:356) 在com.sun.prism.j2d.J2DFontFactory.createFont(J2DFontFactory.java:38) 在com.sun.javafx.font.PrismFontLoader.loadFont(PrismFontLoader.java:399) 在javafx.scene.text.Font。(Font.java:282) 在javafx.scene.text.Font.getDefault(Font.java:85) 在com.me.FXProblem.start(FXProblem.java:23) 在com.sun.javafx.application.LauncherImpl $ 5.run(LauncherImpl.java:319) 在com.sun.javafx.application.PlatformImpl $ 5.run(PlatformImpl.java:215) 在com.sun.javafx.application.PlatformImpl $ 4 $ 1.run(PlatformImpl.java:179) 在com.sun.javafx.application.PlatformImpl $ 4 $ 1.run(PlatformImpl.java:176) 在java.security.AccessController.doPrivileged(本地方法) 在com.sun.javafx.application.PlatformImpl $ 4.run(PlatformImpl.java:176) 在com.sun.glass.ui.InvokeLaterDispatcher $ Future.run(InvokeLaterDispatcher.java:76) 在com.sun.glass.ui.gtk.GtkApplication._runLoop(本地方法) 在com.sun.glass.ui.gtk.GtkApplication $ 3 […]

JavaFX应用程序包版本号

我正在使用JDK附带的Oracle工具为JavaFX 8应用程序创build一个可安装的包。 在Mac上创build.dmg文件,在Linux上使用.deb文件。 我从Gradle调用一个Ant脚本来创build这个包。 我遇到的问题是包中包含的版本号总是1.0,而不是我指定的版本。 Ant脚本的相关部分如下: <project name="VocabHunter Packaging" basedir="" xmlns:fx="javafx:com.sun.javafx.tools.ant"> <target name="jfxbundle" description="Build the application bundle"> <fx:deploy outdir="${basedir}/build" nativeBundles="${packageType}"> <fx:application refId="VocabHunterId" version="${version}"/> <fx:bundleArgument arg="mac.CFBundleVersion" value="${version}"/> … </fx:deploy> … </target> … </project> 你可以在这里看到完整的脚本。 在Mac上,右键单击应用程序图标并select“获取信息”,将显示1.0而不是正确的版本号,如下图所示: 同样,在Linux上,在安装.deb文件的过程中版本号显示为1.0: 有谁知道如何修复Ant脚本,以便正确的版本出现? 我在Mac和LInux上使用Oracle JDK 1.8.0_66。

JavaXF 8 ProgressBar和ProgressIndicator,在Linux上进程= -1的内存泄漏

进度设置为-1(INDETERMINATE_PROGRESS)的ProgressBar或ProgressIndicator简单JavaFX应用程序的Java进度逐渐使用越来越多的内存,直到它在几分钟内填充内存和交换。 我使用最新的更新Fedora 23 x86_64,kernel-4.4.5-300.fc23.x86_64和jdk1.8.0_74。 kernel-4.2.3-300.fc23.x86_64和jdk1.8.0_73和jdk1.8.0_45都会出现同样的问题。 我在我的项目中遇到了这个问题,即使在最简单的应用程序中也是如此: package sample; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.ProgressIndicator; import javafx.stage.Stage; public class ProgressBarMemoryLeak extends Application { ProgressIndicator progress = new ProgressIndicator(-1); @Override public void start(Stage primaryStage) throws Exception { primaryStage.setScene(new Scene(progress, 100, 100)); primaryStage.show(); } public static void main(String[] args) { launch(args); } } 有什么办法可以解决这个问题吗? 也许有一些其他自定义ProgressBar实现我可以使用?

在Linux上运行Java FX 2.0应用程序时出现空白屏幕

所以,我刚开始玩Linux上的Java FX,因为开发者预览终于出来了。 我正在关注该网站上的第一个示例( JavaFX入门 ),并且一切似乎都正常运行。 但是,运行示例时,我所得到的只是一个空白窗口。 我已经检查过,以确保我正在使用JDK7u3中包含的JRE for Linux。 奇怪的是我在运行这个例子时没有遇到任何例外或者问题,我只是得到了什么都不做的空白窗口。 我甚至可以为舞台设置一些属性,比如设置标题或大小,并且反映这些变化; 但场景中没有显示,甚至没有背景颜色。 有没有人有任何想法,我可能做错了什么? 更新:感谢您的回复; 这是代码和截图,Sergey。 我删除了大部分的例子,只留下舞台创作: public class UITest extends Application { @Override public void start(Stage mainStage) { try { Group root = new Group(); Scene scene = new Scene(root, 400, 300, Color.RED); mainStage.setScene(scene); mainStage.show(); } catch (Exception e) { e.printStackTrace(); } } public static […]

什么可能是“Prism-ES2错误:GL_VERSION(major.minor)= 1.4”的原因?

我正在尝试使用eclipse IDE在Oracle Linux中开发简单的javafx程序。 我已经安装了JDK 7和所有程序正常运行,除了它显示 Prism-ES2 Error : GL_VERSION (major.minor) = 1.4 在控制台。 例如,以下是简单的javaFX程序 import javafx.application.*; import javafx.scene.Group; import javafx.scene.Parent; import javafx.scene.Scene; import javafx.scene.paint.Paint; import javafx.stage.Stage; public class practiceFX extends Application{ public static void main(String args[]) { Application.launch(args); } @Override public void start(Stage primaryStage) throws Exception { // TODO Auto-generated method stub Group root =new […]

JavaFX – CSS无法在Linux中加载

我正在使用JavaFX来开发一个多平台的应用程序,我使用Netbeans 7.2.1与JavaFX 2.2和Java 1.7u21(以前使用1.7u9和工作很好)的Win7。 正如我所说的,Win7运行得很好,我的应用程序。 当我尝试在Ubuntu 12.04上运行它时,它无法加载我的CSS样式。 每个fxml文件都添加了其控件的样式表类。 然后每个控件都增加了样式。 例如:在一个空白button上,我正在应用这种风格: buttonStyle.css: .button { -fx-text-fill: white; -fx-alignment: CENTER; -fx-border-radius: 5; -fx-font-size: 13pt; -fx-font-family: "Verdana"; -fx-font-weight: bold; -fx-background-color: linear-gradient(#328BDB 0%, #207BCF 25%, #1973C9 75%, #0A65BF 100%); } .button:hover { -fx-background-color: linear-gradient(#2C8AE7 0%, #0C6AC7 25%, #0A58A5 75%, #093B6D 100%); } .button:pressed { -fx-background-color: linear-gradient(#328BDB 0%, #207BCF 25%, #1973C9 […]

在Linux上使用JavaFX的重音字符

我正在开发一个应用程序,只是注意到,在Linux上运行JavaFX应用程序时,没有单个重音字符,例如巴西葡萄牙语“é”,也没有显示“ã”。 但是,如果我复制/粘贴这些字符,他们正常出现,所以我不认为这是一个编码问题。 另一方面,完全相同的代码在Windows上工作,这些字符显示正常。 这是一个已知的错误? 提前致谢。

Popup仅在Mac上落后于舞台,而不是在全屏的Windows / Linux上

我正在扩展javafx.stage.Popup来显示一个popup消息。 整个应用程序可以在Windows和Ubuntu上正常运行,但是在Mac上Popups会在应用程序全屏后进入当前阶段。 我试过使用z-index,.toFront(),设置所有者窗口和一切。 但popup窗口只是不显示! javafx.stage.FileChooser也是一样的问题。 由于应用程序必须始终处于全屏状态,因此解决scheme是什么? 编辑:在另一个页面,文本字段全屏闪烁但不接收键入的键! 而这只发生在全屏幕! 如果我失去全屏,文本字段接收键入的键。 很烦人:(请build议如果我应该提交一个错误或东西 我已经找出popup的解决方法,但问题仍然存在DirectoryChooser / FileChooser。 这是扩展Popup的类: public class PopupDisplay extends Popup { String Title=new String("Information"); String Prompt=new String("Prompt Text"); @FXML private AnchorPane anchorMain; @FXML private Label lblTitle=new Label(); @FXML private Font x1; @FXML private Label lblPrompt=new Label(); @FXML private Button btnOk; @FXML private GridPane gridMain; @FXML private […]

在使用netbeans时,Ubuntu上的Javafx错误

当试图在ubuntu linux上运行一个基本的javafx应用程序时,我看到以下错误。 使用命令行或netbeans运行应用程序时出现错误。 Exception in thread "main" java.lang.RuntimeException: java.lang.UnsatisfiedLinkError: Can't load library: /home/venkat/.m2/repository/com/oracle/javafx/javafx/2.1.0-beta/i386/libglass.so at com.sun.javafx.tk.quantum.QuantumToolkit.startup(QuantumToolkit.java:277) at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:90) 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(Thread.java:722) Caused by: java.lang.UnsatisfiedLinkError: Can't load library: /home/venkat/.m2/repository/com/oracle/javafx/javafx/2.1.0-beta/i386/libglass.so at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1828) at java.lang.Runtime.load0(Runtime.java:792) at java.lang.System.load(System.java:1059) 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.gtk.GtkPlatformFactory.<clinit>(GtkPlatformFactory.java:23) […]

Java fx依赖的仿真器无法在Linux下运行

我需要在我的Ubuntu 14.10 64位机器上运行AGA模拟器 ,作为testing/开发软件系统模块的一部分。 不幸的是它没有执行。 我得到的错误信息是 Graphics Device initialization failed for: es2, sw Error initializing QuantumRenderer: no suitable pipeline found java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found at com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:280) at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:220) … Exception thrown from main method of combitech/aga/SimulatorApplication Exception in thread "main" java.lang.RuntimeException: No toolkit found at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:185) … at com.sun.javafx.application.LauncherImpl$$Lambda$3/22713019.run(Unknown Source) […]