2017-03-31 5 views
1

こんにちは、下位プロセッサで効果的に動作するJavaFxで国際化の概念(ヒンディー語用)を実装したいと考えています。Javafx国際化と下位ハードウェア低速問題

構成: - プロセッサー - インテルAtom CPUD425する@ 1.80GHz×2 RAM - 2ギガバイト OS - 32ビットのFedora 15

リソースバンドルでの国際化の概念を実装。しかし、その低いプラットフォームではかなり遅いです。 How to implement language support for JavaFX in FXML documents?で提案されているように正しく実装されていますが、英語とヒンディー語(2〜4秒)で同じ遅さが発生します。

したがって、グローバル変数を1つ取り、言語をヒンディー語に変更した場合はその変数を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 sirによって、あなたが噛まれている可能性があります。今のところ、回避策はありますか?この問題か他の方法ですか? –

+0

考えられる回避方法:1.ウィンドウを使用します。 2.英語を使用する。 3.独自のJREを構築します。私は3と一緒に行き、10倍のパフォーマンス改善を見ました。 – Itai

答えて

0

次のようにして回避します。 - 余分な変更を加えてヒンディー語の別のフロー(画面)を作成し、ラベル内に「テキスト」()を使用します。ラベルを付けるテキストを設定しません。他の言語のテキスト、すなわちヒンディー語のテキストをfxmlの「テキスト」に設定する。ローディング時間が減少し、必要な前回の時間: - 2.8秒、今や1.2秒。