2009-06-01 17 views
3

자바의 주 윈도우 제목 표시 줄 (JFrame)을 제외한 모든 곳에서 일본어 문자를 표시 할 수 있습니다. 이 제목 표시 줄의 글꼴을 변경하여 일본어 문자를 표시 할 수 있습니까? 감사합니다.Java 프로그램의 TIle Bar에 일본어 문자 표시

Windows XP를 사용하고 있습니다. 이 문제는 자바 물질의 모양과 느낌을 사용하고 있습니다.

답변

3

창 제목 표시 줄은 시스템 창 관리자가 관리하며 스윙은 관리하지 않습니다. 당신은 당신이 사용하고있는 OS/GUI를 말하지 않습니다.

Windows XP의 경우 디스플레이 제어판을 열고 "모양"탭을 선택한 다음 "고급"단추를 클릭하십시오. 거기에 제목 글꼴을 변경할 수 있습니다 (시스템에 설치된 글꼴에 필요한 문자 모양이 없을 수도 있음). 여기

시스템 기본 글꼴 원하는 그리 지원하는지 여부를 확인하는 코드이다 (필자는 캐릭터가 무엇인지 전혀 모른다을, 그것은 가타카나 세트에서 잘 생긴 문양의) :

import javax.swing.JFrame; 
import javax.swing.JLabel; 
import javax.swing.SwingUtilities; 

public class GlyphCheck 
{ 
    public static void main(String[] argv) throws Exception { 
     final String title = "Testing: \u30CD"; 
     SwingUtilities.invokeAndWait(new Runnable() { 
      public void run() { 
       JFrame frame = new JFrame(title); 
       frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE); 
       JLabel label = new JLabel(title); 
       label.setSize(200, 100); 
       frame.setContentPane(label); 
       frame.pack(); 
       frame.setVisible(true); 
      } 
     }); 
    } 
} 
+0

내 운영 체제는 Windows XP입니다. 이미 활성화 된 제목 표시 줄을 다른 글꼴로 변경하려고했지만 제목 표시 줄의 글꼴은 변경하지 않았습니다. – baseballtank13

+0

댓글을 달았을 때 동시에 업데이트되었습니다. - 선택한 글꼴에 사용중인 글자가 포함되어 있는지 확인하십시오. 스윙 레이블에 글꼴을 설정하여 테스트하십시오. Windows 재시작과 같은 작업을 수행해야 할 수도 있습니다. – kdgregory

+0

그 두 가지 아이디어는 효과가 없었습니다. 내가 사용할 수있는 라인이 있습니까? UIManager.put ("OptionPane.("Dialog", Font.PLAIN, 11))); ... 메인 타이틀 용 – baseballtank13

0

에서 프레임의 폰트를 오버라이드 (override)하기 위해서 (때문에), 외형을 처리하기 위해서 (때문에) Look & Feel에 대해 지시 할 필요가 있습니다. 이것은 바람직하지 않을 수도 있지만 그렇지 않을 수도 있습니다. 그렇지 않으면 시스템을 자비로 사용하게 될 것입니다. 어떤 모양과 느낌은 꽤 좋은 창 장식을하고 다른 느낌은 그렇지 않습니다. 물질은 괜찮아. UIManager에게 사용할 글꼴을 알려주십시오.

// Do this before you display any JFrame. 
UIManager.put("Frame.font", new Font("Japanese", 12, Font.PLAIN)); 
JFrame.setDefaultLookAndFeelDecorated(true); 

JFrame frame = new JFrame(title); 

이 접근 방식 (그것을 작동합니다! - 그것은 죄송 테스트하지) 당신은 그들이 다른 대답에 따라, 자신의 Windows 설정을 변경해야하는 사용자를 말하지 않고 프로그램을 배포 할 수 있습니다 의미합니다.

+0

이것은 작동하지 않았습니다. 아무것도 바뀌지 않았습니다. – baseballtank13

+0

게시하기 전에 항상 테스트 해 보는 것이 좋습니다. 나를 위해 작동하지 않았으며, 해당 속성에 대한 1.5 소스를 숨길 때 찾지 못했습니다. – kdgregory

+0

나는 문제가 무엇인지 더 알아 냈다고 생각한다. (불행하게도 해결책에 더 가깝지 않다). 호출 중 ... JFrame.setDefaultLookAndFeelDecorated (true); JDialog.setDefaultLookAndFeelDecorated (true); 물질의 외관과 느낌은 왜 일본어 글꼴을 표시하지 않는지입니다. 이 두 줄을 주석으로 처리하면 일본어 문자를 볼 수 있지만 문제는 제목 표시 줄이 테마의 색이 아닌 보통 파란색이라는 것입니다. 제목 표시 줄에 테마의 색을 지정해야합니다.). – baseballtank13

1
JFrame.setDefaultLookAndFeelDecorated(true); 
UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName()); 
UIManager.put("InternalFrame.titleFont", Resources.jaDefault.deriveFont(16.0f)); 

Try it ;) 
+0

InternalFrame.titleFont 속성을 사용하십시오. 고마워. –

0

저는 Java Substance에 익숙하지 않지만 웹 응용 프로그램에서 작업 할 때이 기능을 경험했습니다. 기본적으로 일본어, 중국어 및 한국어 문자는 페이지의 콘텐츠에는 표시되지만 브라우저 제목 표시 줄에는 표시되지 않습니다.

이것은 윈도우 시스템이 브라우저가 아닌 제목 표시 줄을 제어하기 때문입니다. kdgregory의 의견을 바탕으로, 이것은 당신과 비슷한 상황 인 것 같습니다.

윈도우 시스템에서 문자를 이해하고 지원되지 않는 '상자'를 표시하지 않으려면 적절한 문자 세트가 설치되어 있는지 확인해야합니다. Windows XP의 경우 다음 단계에 따라 브라우저 제목 표시 줄의 문제가 해결되었습니다.

  1. Windows 시작 메뉴에서 제어판을 엽니 다.
  2. 국가 및 언어 옵션 아이콘을 클릭 한 다음 언어 탭을 클릭하십시오.
  3. [보조 언어 지원] 상자에서 동아시아 언어 용 파일 설치 상자를 선택하십시오.
  4. 적용 및 확인을 클릭하십시오.