Java
 Computer >> コンピューター >  >> プログラミング >> Java

JavaのFontとFontMetricsの違いは何ですか?


フォント クラスは画面のフォントを設定するために使用され、言語の文字をそれぞれのグリフにマップしますが、 FontMetrics クラスは、特定の画面での特定のフォントのレンダリングに関する情報をカプセル化するフォントメトリックオブジェクトを定義します。

フォント

フォント クラスを使用して、フォントオブジェクトのインスタンスを作成できます 描画テキスト、ラベル、テキストフィールド、ボタンのフォントを設定します などで、名前、スタイル、サイズで指定できます。

フォントには、名前、論理名、顔の名前があります

  • 家系の名前: これは、Courierなどのフォントの一般的な名前です。
  • 論理名 :モノスペースなどのフォントのカテゴリを指定します。
  • 顔の名前 :CourierItalicなどの特定のフォントを指定します。

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の違いは何ですか?


  1. JavaのJFrameとJDialogの違いは何ですか?

    JFrame フレームに追加されたコンポーネントはそのコンテンツと呼ばれ、 contentPaneによって管理されます。 。 JFrameにコンポーネントを追加するには 、 contentPaneを使用する必要があります 代わりに。 JFrame タイトルのウィンドウが含まれています 、境界線 、(オプション)メニュー バー およびユーザー -指定 コンポーネント 。 JFrame 移動できます 、サイズ変更 、アイコン化 JComponentのサブクラスではありません 。 デフォルトでは、JFrameは左上の角に表示されます 画面のr。指定した場所にフレームを表示するには

  2. JavaのGridLayoutとGridBagLayoutの違いは何ですか?

    GridLayout すべてのコンポーネントを長方形のグリッドに配置し、同じサイズの長方形に分割します 各コンポーネントは長方形の中に配置されますが、 GridBagLayout 柔軟です レイアウト マネージャー コンポーネントを垂直方向と水平方向に整列させます コンポーネントが同じサイズである必要はありません。各GridBagLayout オブジェクトは、動的な長方形のセルのグリッドを維持します 各コンポーネントがコンポーネントと呼ばれる1つ以上のセルを占有します 表示 エリア 。 GridLayout GridLayout コンポーネントを長方形のグリッドに配置します。セル