在大多数情况下,我可以通过键入 ctrl-shift-u 然后键入十六进制字符代码来输入 Unicode 字符。例如,通过在浏览器中键入 ctrl-shift-u 2264,我得到 \'≤&qu...
ctrlshiftu--然后键入十六进制字符代码来输入 Unicode 字符alt并在数字键盘上输入字符的十进制代码。我不太了解 macOS,但我认为有类似的键盘组合可以通过代码输入 Unicode 字符。
当我运行 Java 程序时,特别是使用 这个演示 程序时,这些通过键盘输入 Unicode 字符的方法 JTextField
似乎都不起作用。我可以从其他应用程序 (gedit) 复制字符并粘贴。但我还没有找到直接输入它们的方法,无论是通过试验还是通过搜索互联网。
有没有办法让 JTextField
控件接受 Unicode 字符的键代码(大概是特定于操作系统的)?
在 Linux 上重现此问题的步骤
import javax.swing.*;
class JTextFieldExample
{
public static void main(String args[]) {
JFrame f = new JFrame("JTextField Example");
JTextField t = new JTextField("");
t.setBounds(10, 10, 400, 30);
f.add(t);
f.setSize(420,90);
f.setLayout(null);
f.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
f.setVisible(true);
}
}
ctrl + shift + U 2264 + Enter
.
编辑:由于很多人似乎感兴趣,我正在使用截至 2024.08.22 更新的 Debian Testing(Trixie)。
$ java --version
openjdk 23-ea 2024-09-17
OpenJDK Runtime Environment (build 23-ea+34-Debian-1)
OpenJDK 64-Bit Server VM (build 23-ea+34-Debian-1, mixed mode, sharing)
关于 windows 的信息是另一个用户发给我的,关于 mac 的信息我没有。希望这些信息对你有帮助。