Установка символов юникода в фреймах Java

Как отображать символы юникода (например, японские) в заголовке JFrame в java swing в Windows XP m / c без японского языкового пакета? Похоже, что установки текста заголовка на японские символы Юникода и шрифта на MS Mincho недостаточно. Хотя это все, что вам нужно сделать для отображения символов Юникода в метках Swing?

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
0
5 054
1

Ответы 1

"без японского языкового пакета"?

Вроде надо хотя бы скачать языковой шрифт ...

alt text

The font is the only thing that needs to be installed on your client machine to run the application.

Using the font is lots easier in Swing unlike in AWT.
For AWT components i.e one that has a native peer, you need to customize the settings of the JRE i.e modify font.properties under /jre/lib to include the font you have installed under each font type.

In your Swing application, you just need to set the font of the Swing component before setting its text.

Ссылка в начале поста содержит полный пример. Небольшая выписка:

JFrame frame = new JFrame();
String string = "\u30b7\u30f3\u30d7\u30eb\u30c6\u30ad\u30b9\u30c8\u30a8\u30c7\u30a3\u30bf";
JLabel label = new JLabel();
label.setFont(new Font("MS Mincho",Font.PLAIN, 12));
label.setText(string);
frame.getContentPane().add(label);
frame.setFont(new Font("MS Mincho",Font.PLAIN, 12));
frame.setTitle(string);

Общая документация для java J2SE6 (1.6.0) - здесь, включая Файлы конфигурации шрифта

Начиная с Java5 и более поздних версий вам больше не нужен файл font.properties, поскольку вы можете загрузить файл шрифта для создания / использования шрифта.

String fontFileName = "yourfont.ttf";
InputStream is = this.getClass().getResourceAsStream(fontFileName);
Font ttfBase = Font.createFont(Font.TRUETYPE_FONT, is);
Font ttfReal = ttfBase.deriveFont(Font.PLAIN, 24);

Другие вопросы по теме