0

我有以下 java 程序,它在记事本中编写java

static int keyInput[] = { KeyEvent.VK_J, KeyEvent.VK_A, KeyEvent.VK_V,
    KeyEvent.VK_A, KeyEvent.VK_SPACE };

public static void main(String[] args) {
    // TODO Auto-generated method stub
    try {
        Runtime.getRuntime().exec("notepad");
    } catch (IOException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }

    /*
    InputContext context = InputContext.getInstance(); 
    System.out.println(context.getLocale().getDisplayLanguage());
    System.out.println(context.getLocale().getLanguage());
    context.selectInputMethod(new Locale("hi"));  //hi is ISO code for hindi. Also "hin" doesn't work 
    */

    Robot robot=null;
    try {
        robot = new Robot();
    } catch (AWTException e) {
        // TODO Auto-generated catch block
        e.printStackTrace();
    }
    for (int i = 0; i < keyInput.length; i++) {
        robot.keyPress(keyInput[i]);
        robot.delay(100);
    }

}

现在我想用印地语写到我的记事本上。因此,我使用 Window 的语言栏手动将语言更改为印地语(请注意,我的默认语言仍然是英语),然后再次运行该程序。具有讽刺意味的是,程序本身将语言更改回英语(我可以在语言栏中看到语言被更改回)并用英语编写java

但是,当我更改计算机的设置并将印地语设置为默认语言时,程序会以印地语运行和编写。

我在网上搜索并找到了一些关于名为 Locale 的类的信息,该类可能会影响语言输入。所以我包含了它(上面代码中的注释部分)但它不起作用。谁能告诉我如何在不更改默认语言的情况下通过java程序控制输入语言?提前致谢。

4

0 回答 0