Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 Font와 FontMetrics의 차이점은 무엇입니까?


글꼴 클래스는 화면 글꼴을 설정하는 데 사용되며 언어의 문자를 해당 글리프에 매핑하는 반면 FontMetrics 클래스는 특정 화면에서 특정 글꼴의 렌더링에 대한 정보를 캡슐화하는 글꼴 메트릭 개체를 정의합니다.

글꼴

글꼴 클래스를 사용하여 글꼴 개체 의 인스턴스를 만들 수 있습니다. 텍스트, 레이블, 텍스트 필드, 버튼 그리기의 글꼴을 설정하려면 등이며 이름, 스타일 및 크기로 지정할 수 있습니다.

글꼴에는 가족 이름, 논리적 이름 및 얼굴 이름이 있습니다.

  • 성: Courier와 같은 글꼴의 일반 이름입니다.
  • 논리적 이름 :Monospaced와 같은 글꼴의 범주를 지정합니다.
  • 얼굴 이름 :Courier Italic과 같은 특정 글꼴을 지정합니다.

예시

import java.awt.*;
import javax.swing.*;
public class FontTest extends JPanel {
   public void paint(Graphics g) {
      g.setFont(new Font("TimesRoman", Font.BOLD, 15));
      g.setColor(Color.blue);
      g.drawString("Welcome to Tutorials Point", 10, 20);
   }
   public static void main(String args[]) {
      JFrame test = new JFrame();
      test.getContentPane().add(new FontTest());
      test.setTitle("Font Test");
      test.setSize(350, 275);
      test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      test.setLocationRelativeTo(null);
      test.setVisible(true);
   }
}

출력

Java에서 Font와 FontMetrics의 차이점은 무엇입니까?

FontMetrics

FontMetrics 클래스는 특정 글꼴 에 대한 특정 매개변수를 반환하는 데 사용됩니다. 물체. FontMetrics 개체 클래스는 getFontMetrics() 를 사용하여 생성됩니다. 방법. FontMetrics 방법 클래스는 글꼴 구현 세부정보에 대한 액세스를 제공할 수 있습니다. 물체. bytesWidth(), charWidth(), charsWidth(), getWidth(), 메서드 및 stringWidth() 텍스트 개체의 너비를 픽셀 단위로 결정하는 데 사용됩니다. 이러한 방법은 화면에서 텍스트의 수평 위치를 결정하는 데 필수적입니다.

예시

import java.awt.*;
import javax.swing.*;
public class FontMetricsTest extends JPanel {
   public void paint(Graphics g) {
      String msg = "Tutorials Point";
      Font f = new Font("Times New Roman",Font.BOLD|Font.ITALIC, 15);
      FontMetrics fm = getFontMetrics(f);
      g.setFont(f);
      int x =(getSize().width-fm.stringWidth(msg))/2;
      System.out.println("x= "+x);
      int y = getSize().height/2;
      System.out.println("y= "+y);
      g.drawString(msg, x, y);
   }
   public static void main(String args[]){
      JFrame test = new JFrame();
      test.getContentPane().add(new FontMetricsTest());
      test.setTitle("FontMetrics Test");
      test.setSize(350, 275);
      test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      test.setLocationRelativeTo(null);
      test.setVisible(true);
   }
}

출력

Java에서 Font와 FontMetrics의 차이점은 무엇입니까?