簡體   English   中英

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

[英]Why does JavaFX work differently outside NetBeans?

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

基本思想是一個充滿字母的網格,行和列按順序突出顯示,以允許一個人通過單鍵按下(空格鍵)來選擇一個字母。 一旦字符數等於或大於3,我實現了一個自動完成功能,該功能從這些字母開始取詞,並按詞匯頻率對它們進行排名。

當我從IDE內部運行項目時,它工作得非常好,但是當我嘗試在外部運行它時,會發生以下情況:

  • 當我啟動程序時,輸入長時間不起作用(10-15秒......雖然有時它幾乎立即工作,有時甚至需要更多時間)......但是一旦它開始檢測我的按鍵再次按下,它100%的工作時間。 它不僅限於空格鍵(“+”和“ - ”用於操縱突出顯示的速度)。 此外,程序沒有凍結,我可以很好地調整大小,行/列是動畫。
  • 我還在我放置自動填充建議的行旁邊放了一個標簽。 所述標簽應該傾斜-90°。 每當我從Netbeans外部運行它時,它就會失去它的旋轉。 注意:我不使用CSS文件,我使用.SetStyle()。

它是如何因為我不從Netbeans運行應用程序而表現不同的?

謝謝您的回答!

一些可能的原因:

  1. .jar文件不是最新的。

Netbeans從.class文件運行,而在外部運行時使用.jar文件。

做一個干凈的重建,然后再試一次。

  1. 不同的類路徑。

Netbeans指定它希望應用程序在命令行上使用的所有庫的類路徑。 你使用什么命令行? 有什么不同嗎?

當Netbeans運行您的應用程序時,您可以看到輸出窗口中使用的命令行(您可能需要啟用詳細的輸出形式 - 使用Maven,您可以添加--debug)。

  1. 如果您減少了權限,則需要一些時間來解決的安全問題。

很多人都給Netbeans管理員權限(例如允許它創建jar文件)。 在命令行上可能不是這種情況。

嘗試使用管理員權限從命令提示符運行.jar

  1. (受實際問題的啟發 - 謝謝@BlackRainbow) - Netbeans項目將綁定到特定的Java版本。 當使用Java ... -jar ...從命令行運行時,您將獲得可能不同的最新Java版本。

嘗試從命令行運行它,選擇特定版本的Java。 "C:\\Program Files\\Java\\jdk7\\jre\\bin\\java" ...或類似的東西。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM