java - 在 java 中将输入对话框区域设置更改为希伯来语

标签 java swing locale joptionpane hebrew

我的申请是希伯来语的。运行我的应用程序的计算机均将英语设置为默认语言,将希伯来语设置为第二语言

每次他们需要向应用程序输入内容时,都必须“alt + shift”来更改语言。

在我的最后一个问题中——> Change input language in java 我对如何设置文本字段的区域设置有了一个很好的想法,而且效果非常好!

现在我需要在所有弹出输入对话框中执行相同的操作。

之前的解决方案是基于使用 JTextField FocusListener 的 FocusGained 方法, 现在我没有 FocusGained 选项,至少据我所知:)

IE:

response = JOptionPane.showInputDialog(requestLine.this, ("<html><b><font color=\"#8F0000  +
  +   \"size=\"10\" face=\"Ariel\">" + "הכנס סטטוס חדש: " + "</font></p></html>"), "");

此选项 Pane 要求输入,并将其存储在字符串中,我需要它弹出以准备希伯来语输入。

这可能吗?

谢谢, 戴夫

最佳答案

这将重复 showInputDialog随着语言环境的改变:

public class LocaleOptionPane extends JFrame {

    public static void main(String[] args) {

        new LocaleOptionPane();
    }

    LocaleOptionPane() {

        Locale loc = new Locale("iw", "IL");
        String message = "<html><b><font color=\"#8F0000\" size=\"10\" face=\"Ariel\">" + "הכנס סטטוס חדש: " + "</font></p></html>";

        setVisible(true);

        JOptionPane pane = new JOptionPane(message, JOptionPane.PLAIN_MESSAGE, JOptionPane.OK_CANCEL_OPTION);
        pane.setWantsInput(true);

        JDialog dialog = pane.createDialog(this, UIManager.getString("OptionPane.inputDialogTitle", loc));
        dialog.getInputContext().selectInputMethod(loc); // pane.getInputContext... also works
        dialog.setVisible(true);
        dialog.dispose();

        String response = (String) pane.getInputValue();
        if (response == JOptionPane.UNINITIALIZED_VALUE)
            System.out.println("aborted");
        else
            System.out.println(response);
    }
}

注释:

  • 我没有添加绿色问号图标,因为它看起来位置不太好,尽管可以通过更改 JOptionPane.PLAIN_MESSAGE 来添加它。至JOptionPane.QUESTION_MESSAGE .
  • 您可以通过 pane.createDialog 更改标题打电话。
  • 在检查 response 的值时实现您自己的行为.
  • 更改父组件。

关于java - 在 java 中将输入对话框区域设置更改为希伯来语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25972927/

相关文章:

android - 更改应用程序的语言

Lua 将字符串转换为数字 - 取决于语言环境

java - ZipInputSream 在文件末尾写入 [][][][][][][][][][]....?

java - 如何更改 Hibernate 映射而不导致数据库崩溃

java - 如何减少 Java Swing 表单的感知加载时间?

java - 是否可以使用 JSlider 控制多个 JTextfield?

javascript - 关于向 JavaScript 添加适当的区域设置支持,是否有任何我可以遵循的当前建议?

java - 如何使用 selenium java 在表格输入中输入文本?

java - 使用 java 的 Curl 命令给出 Json 文件并读取 Json 文件

java - 如何通过paintComponent方法在JPanel中绘制图形?