티스토리 뷰

JLabel에 한글 폰트로 설정한 경우 (아시아 폰트)
Html Tag를 사용하여 영문을 쓰는경우 descent가 잘리는 경우가 발생한다

한글 XP에서 기본적으로 Label.font가 Gulim, Plain, 12가 되는데
이때 영문리소스에 html을 적용하면 문제가 생긴다

아래 예제를 실행하면

Font f = new Font("Gulim", Font.PLAIN, 12);
UIManager.put("Label.font", f);
  
JFrame frame = new JFrame();
JPanel panel = new JPanel();

String str = "Layout";
  
JLabel label = new JLabel(str);
label.setBorder(BorderFactory.createLineBorder(Color.RED));

JLabel htmlLabel = new JLabel("<html>"+str+"</html>");
htmlLabel.setBorder(BorderFactory.createLineBorder(Color.RED));
  
panel.add(label);
panel.add(htmlLabel);
  
frame.add(panel);
frame.pack();
frame.setVisible(true);

결과가 다음과 같다
Html을 쓴 경우와 안쓴경우 string이 그려지는 baseline이 다른것을 알수 있다.
하지만 XP에서는 descent부분이 잘리고 Mac에서는 잘리지 않는다
  


줄바꿈 편하게 할려고 <html>을 쓰곤 하는데...
이럴땐 걍 JTextArea를 쓰자 -ㅅ-;