Я не могу получить один шрифт для отображения Юникода (смайликов) в Java SwingJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Я не могу получить один шрифт для отображения Юникода (смайликов) в Java Swing

Сообщение Anonymous »

Я пытаюсь создать очень простой текстовый редактор на Java (представьте себе Блокнот).
Но я не могу найти ни одного шрифта, который мог бы отображать символы Юникода (эмодзи), например как: 🤩 🌍 🎉
Изображение

Для этого я также создал очень простое тестовое приложение Java:

Код: Выделить всё

public class Main {
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
try {
// Create a JFrame
JFrame frame = new JFrame("Font Tester");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(600, 400);

// Create a JTextArea to display text
JTextArea textArea = new JTextArea();
textArea.setText("Test text: Hello, world! 🤩 🌍 🎉");
textArea.setLineWrap(true);
textArea.setWrapStyleWord(true);

Font customFont = Font.createFont(Font.TRUETYPE_FONT, new File("noto.ttf"));
customFont = customFont.deriveFont(Font.PLAIN); // Set font size
customFont = customFont.deriveFont(16f); // Set font size
textArea.setFont(customFont);

// Add components to the frame
frame.setLayout(new BorderLayout());
frame.add(textArea, BorderLayout.CENTER);

// Make the frame visible
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
});
}
}
Я пробовал кучу шрифтов (с засечками и моноширинными), включая JetBrains Mono Nato, Noto Monospace и т. д.
Я не ищу полностью визуализированный смайлик, но не поле.
Я делаю что-то не так, или шрифты неправильные, или Swing просто не может его вообще не отображать?
Использование Open JDK 17.

Подробнее здесь: https://stackoverflow.com/questions/793 ... java-swing
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»