java - Java AWT PopupMenu 韩语/亚洲字符不显示
问题描述
我被要求在我的程序中加入韩语、中文和日语,但事实证明这很困难。由于 TrayIcon 的问题,我被迫使用 AWT 而不是 Swing,但是 AWT PopupMenu 似乎完全拒绝识别亚洲字符。
这是一个演示该问题的示例程序:
package awttest;
import java.awt.*;
import java.awt.event.ActionEvent;
public class AWTTest
{
public static void main( String[] args )
{
Frame frame = new Frame( );
frame.setSize( 400, 300 );
frame.setLayout( new FlowLayout( ) );
Button button = new Button( "Test" );
button.addActionListener( ( ActionEvent e ) ->
{
PopupMenu popup = new PopupMenu( "Menu" );
MenuItem item = new MenuItem( "\uc2dc\uba54\uc9c0" );
popup.setFont( new Font( "Serif", 0, 12 ) );
System.out.println( popup.getFont( ).canDisplay( '\uc2dc' ) ); // prints true
popup.add( item ); // displays 3 boxes
popup.add( new MenuItem( "English Text" ) ); // displays normally
button.add( popup );
popup.show( button, 0, 25 );
} );
frame.add( button );
frame.setVisible( true );
}
}
我尝试将字体设置为支持韩语的 Windows 字体之一,例如 Gulim 或 Dotum,但结果相同。即使将我的计算机的区域设置更改为韩国也没有效果。有什么方法可以让 AWT PopupMenu 支持亚洲字符?
解决方案
推荐阅读
- dask - Dask 分布式 - 创建工人的指南
- java - 使用 Java Bean 验证验证对象图/集合时的自定义消息
- spring - 无法为标签“form:form”加载标签处理程序类“org.springframework.web.servlet.tags.form.FormTag”
- python - 如何使用列表框中的每个新选择更新 tkinter 标签?
- python - 双索引后更改数组元素
- javascript - 相同的链接会在位置历史记录中创建重复项
- javascript - 如何在引导程序 4 中响应设置高度
- javascript - 导入后导出的模块未定义
- go - Go 中的缓冲通道
- python - 在没有熊猫的情况下将csv转换为Json(python)