Bir JTextArea'da unicode rune karakteri \ u16e6 görüntülemek istediğim bu basit programı hazırladım. Bu sembol, JFrame'in üst kısmında görüntülenir, ancak JTextArea'da gösterilmez. JTextArea'nın yazı tipini JFrame ile aynı olacak şekilde ayarladım, ancak hala boş bir kutu olarak \ u16e6 gösterecektir. JTextArea'da bunu veya herhangi bir rasgele unicode karakterini nasıl görüntüleyebilirim?JTextArea Bileşeninde Unicode Desteği
I JFrame ile aynı olacak şekilde JTextArea tipini belirledikimport java.awt.*;
import javax.swing.*;
public class WTextArea{
public static void main(String[] args){
JFrame frame = new JFrame("\u16e6");
frame.setSize(1000,1000);
frame.setVisible(true);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
System.out.println(frame.getFont().toString());
Container content = frame.getContentPane();
JTextArea jta = new JTextArea();
jta.setFont(frame.getFont());
content.add(jta);
jta.setText("\u16e6");
}
}
Ne ortamı içinde çalışan (Windows?) ve hangi JVM karakter kodlamasını var? 'Java' komutunuza [-Dfile.encoding = UTF-8'] (http://stackoverflow.com/q/361975/113632) ekleyerek deneyin, yardımcı olup olmadığına bakın. – dimo414
'JTextArea'nın yazı tipini JFrame ile aynı olacak şekilde ayarladım,' - Bir JFrame'in başlık çubuğu bir Swing bileşeni değil, bir OS widget'idir. Dolayısıyla, işletim sistemi tarafından kullanılan font, çerçevenin getFont() yönteminde döndürülen Yazı Tipi ile aynı değildir. Bunun problemi çözmediğini biliyorum, sadece Yazı Tiplerinin farklı olduğunu, yani metin alanının karakteri gösteremediğini açıklıyor. Yani "\ u16e6" karakterini oluşturan bir font bulmanız gerekiyor. Bunu nasıl yapacağımı bilmiyorum. – camickr
@AndrewThompson neden bu kapalı bir sorunun kopyası mı? Sormak için makul bir şey gibi görünüyor. – dimo414