gpt4 book ai didi

java - 在亚洲语言(韩语、日语、中文)的 Java swing (JPasswordField) 中设置密码不起作用

转载 作者:行者123 更新时间:2023-11-30 08:55:54 28 4
gpt4 key购买 nike

我遇到了 JPasswordField 组件尝试使用亚洲复合字符的不一致行为的问题。

我的代码是:

    final JCheckBox visiblePassword = new JCheckBox();      // show/hide password checkbox
JPasswordField passwordField = new JPasswordField();
passwordField.setPreferredSize(new Dimension(200, 25));
final char echoChar = passwordField.getEchoChar();
visiblePassword.addActionListener(new ActionListener() // show/hide password
{
public void actionPerformed(ActionEvent evt)
{
if(visiblePassword.isSelected()) passwordField.setEchoChar((char)0);
else passwordField.setEchoChar(echoChar);
}
});

我的目标是允许输入密码中的所有字符。

但是:

Windows 8 - 它根本不起作用(只允许使用拉丁字符 - IME 不起作用)。

Mac OS X - 允许使用韩文字符(但不会将它们合并为一个字符),日文和中文根本不起作用。

我可以在这里找到针对其他平台(如 iOS)的此问题的讨论和解决方案:

Selecting language of the keyboard for UITextField with secureTextEntry

但是对于 Java swing 没有任何帮助。

因此,在我开始实现自定义版本的“JPasswordField”之前,我想问:

有没有人解决这个问题,或者您是否知道一些其他组件,例如 JPasswordField,但适合我的需要?

最佳答案

你知道这个链接吗? JPasswordField (Java Platform SE 8 )

NOTE: By default, JPasswordField disables input methods; otherwise, input characters could be visible while they were composed using input methods. If an application needs the input methods support, please use the inherited method, enableInputMethods(true).

关于java - 在亚洲语言(韩语、日语、中文)的 Java swing (JPasswordField) 中设置密码不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28829322/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com