2017-03-31 44 views
1

嗨要實施國際化的概念(印地文語言)與JavaFx在較低的處理器上有效地運行。Javafx國際化與較低的硬件緩慢問題

配置: - 處理器 - 的Intel Atom CPUD425 @ 1.80GHz×2 RAM - 2 GB OS - 32位的Fedora 15

實施國際概念與資源束。但是在這個低平臺上它速度很慢。 儘管按How to implement language support for JavaFX in FXML documents?中的建議正確實施,但英語和印度語語言(2-4秒)也出現同樣的緩慢。

因此,嘗試採取其他方法作爲一個全局變量,將該變量設置爲1,如果語言更改爲印地語。 併爲每個fxml控制器初始化方法檢查 該變量是否爲1,然後將fxml標籤和按鈕文本設置爲直接印地語字符串,如下所示。

@Override 
    public void initialize(URL location, ResourceBundle resources) { 
     // TODO Auto-generated method stub 

    if(Configuration.getLangSelected()==1){ 
      label1.setText("आप क्या करना पसंद करेंगे?"); 
      button1.setText("ई-कैश प्राप्त करें"); 
      button2.setText("सेवा का उपयोग करें"); 
      button3.setText("वापस"); 
    } 

     } 

它比提高資源包的方式對低硬件配置的性能和流量是罰款英語但印地文繪製了時間(2.8sec)。 但2.8秒不接受。是否有其他方式在最短時間內完成此任務?

對於好奇,作爲替代的初始化字符串,印地文與英文字符串如下: -

@Override 
    public void initialize(URL location, ResourceBundle resources) { 
     // TODO Auto-generated method stub 

    if(Configuration.getLangSelected()==1){ 
      label1.setText("What you want to do?"); 
      button1.setText("Get E-cash"); 
      button2.setText("Use Service"); 
      button3.setText("Back"); 
    } 

     } 

相同的文件,加載速度快了這種變化。 是否有任何問題,因爲我們不能直接設置其他語言字符串到標籤和按鈕等等, 有沒有辦法直接設置文本並快速加載該fxml?

+1

這可能是你被http://mail.openjdk.java.net/pipermail/openjfx-dev/2017-January/020134.html – tomsontom

+0

@tomsontom先生咬傷,現在,是否有任何解決方法這個問題或任何其他方式? –

+0

可能的解決方法:1.使用窗口; 2.使用英語; 3.建立你自己的JRE。我跟3一起看了〜10倍的性能提升。 – Itai

回答

0

找到解決有關此如下: - 建立印地文單獨流(屏幕)與一個額外的變化,使用「文本」()內的標籤。不設置任何文字標籤。將其他語言文本(即印地語文本)設置爲fxml中的「文本」。加載時間下降,以前所需時間: - 2.8秒,現在爲1.2秒。