Javafx国际化与低硬件缓慢问题

时间:2017-03-31 12:35:55

标签: javafx internationalization javafx-2 javafx-8 fxml

嗨想用JavaFx实现国际化概念(印地语),它可以在较低的处理器上有效运行。

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

使用Resource Bundle实现国际化概念。但是在这个低平台上它很慢。 英语和印地语(2-4秒)同样缓慢,尽管如How to implement language support for JavaFX in FXML documents?中所建议的那样正确实施。

因此,尝试使用其他方法作为一个全局变量,如果语言更改为印地语,则将该变量设置为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.8秒)。 但这里不接受2.8秒。还有其他方法可以在最短的时间内完成这项任务吗?

为了好奇,As在初始化中用英文字符串替换了印地语字符串,如下所示: -

@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 个答案:

答案 0 :(得分:0)

找到解决方法: - 为一个额外的更改为印地语构建单独的流程(屏幕),在标签内使用“Text”()。没有设置任何文本标签。将其他语言文本,即印地语文本设置为fxml中的“文本”。加载时间减少,需要上一次: - 2.8秒,现在是1.2秒