为什么JavaFX在NetBeans之外的工作方式不同?

时间:2016-05-25 11:50:31

标签: java windows netbeans javafx

我使用Netbeans 8.1和JavaFX制作了一个Java应用程序(JDK 1.7)。

基本思想是一个用字母填充的网格,行和列按顺序突出显示,以允许一个人通过单键按下(空格键)来选择一个字母。一旦字符数等于或大于3,我就实现了一个自动完成功能,该功能从这些字母开始提取单词,并按词汇频率对它们进行排名。

当我从IDE内部运行项目时,它的效果非常好,但是当我尝试在外部运行它时,会发生以下情况:

  • 当我启动程序时,输入长时间不起作用(10-15秒......虽然有时它几乎立即工作,有时甚至需要更多时间)......但是一旦它开始检测我的键再次按下,它100%的工作时间。它不仅限于空格键(“+”和“ - ”用于操纵突出显示的速度)。此外,该程序没有冻结,我可以很好地调整大小,行/列是动画。
  • 我还在我自动填充建议的行旁边放了一个标签。所述标签应该倾斜-90°。每当我从Netbeans外部运行它时,它就会失去它的旋转。注意:我不使用CSS文件,我使用.SetStyle()。

如果因为我没有从Netbeans运行应用程序,它的表现如何?

感谢您的回答!

1 个答案:

答案 0 :(得分:3)

一些可能的原因:

  1. .jar 文件不是最新的。
  2. Netbeans从 .class 文件运行,而在外部运行则使用 .jar 文件。

    进行清理并重建,然后重试。

    1. 不同的类路径。
    2. Netbeans指定应用程序在命令行上使用的所有库的类路径。你使用什么命令行?有什么不同吗?

      当Netbeans运行您的应用程序时,您可以看到输出窗口中使用的命令行(您可能需要启用详细的输出形式 - 使用Maven,您可以添加--debug)。

      1. 如果您的权限降低,则需要一些时间才能解决的安全问题。
      2. 许多人都给予Netbeans管理员权限(例如,允许它创建 jar 文件)。在命令行中可能不是这种情况。

        尝试使用管理员权限从命令提示符运行 .jar

        1. (受实际问题的启发 - 谢谢@BlackRainbow) - Netbeans项目将绑定到特定的Java版本。当使用Java ... -jar ...从命令行运行时,您将获得可能不同的最新Java版本。
        2. 尝试从命令行运行它,选择特定版本的Java。像"C:\Program Files\Java\jdk7\jre\bin\java" ...或类似的东西。