Java自带的字体

Java是一种广泛使用的编程语言,可用于开发各种类型的应用程序,包括桌面应用程序、移动应用程序和Web应用程序。在Java中,字体是展示文本的重要组成部分。Java提供了一些自带的字体,可以方便地在应用程序中使用。

Java字体类

在Java中,字体是通过Font类来表示的。Font类提供了各种方法和属性,用于设置和获取字体的各种属性,如字体名称、字体样式和字体大小等。以下是Font类的常用构造方法:

Font(String name, int style, int size)
Font(Font font, int style)
  • name参数表示字体的名称,可以是系统字体的名称,也可以是字体文件的路径。
  • style参数表示字体的样式,可以是Font.PLAIN(常规样式)、Font.BOLD(粗体样式)、Font.ITALIC(斜体样式)或它们的组合。
  • size参数表示字体的大小,以磅为单位。

以下是一个使用Font类的示例:

import java.awt.Font;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class FontExample extends JPanel {
    public void paint(Graphics g) {
        Font font = new Font("Arial", Font.BOLD, 20);
        g.setFont(font);
        g.drawString("Hello, Java!", 50, 50);
    }

    public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.getContentPane().add(new FontExample());
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(300, 200);
        frame.setVisible(true);
    }
}

在上面的示例中,我们创建了一个自定义的JPanelFontExample,重写了其paint方法,在窗口上绘制了一个使用Arial字体、粗体、大小为20的文本。

Java自带的字体

Java自带了一些常用的字体,可以直接在应用程序中使用,无需额外安装或导入字体文件。以下是一些常用的Java自带字体:

  1. Serif字体(衬线字体):Serif字体在字母的笔画末端有装饰线,常用于打印和书写。
  2. SansSerif字体(非衬线字体):SansSerif字体没有装饰线,常用于屏幕显示。
  3. Monospaced字体(等宽字体):Monospaced字体中每个字符的宽度相等,常用于显示代码和表格等需要对齐的文本。
  4. Dialog字体:Dialog字体是一种简单的无衬线字体,常用于对话框和消息框中的文本显示。
  5. DialogInput字体:DialogInput字体是一种等宽无衬线字体,常用于对话框和消息框中的用户输入文本。

以下代码示例演示了如何使用Java自带的字体:

import java.awt.Font;
import java.awt.Graphics;
import javax.swing.JFrame;
import javax.swing.JPanel;

public class DefaultFontsExample extends JPanel {
    public void paint(Graphics g) {
        Font serifFont = new Font(Font.SERIF, Font.PLAIN, 20);
        Font sansSerifFont = new Font(Font.SANS_SERIF, Font.BOLD, 20);
        Font monospacedFont = new Font(Font.MONOSPACED, Font.ITALIC, 20);
        Font dialogFont = new Font(Font.DIALOG, Font.BOLD | Font.ITALIC, 20);
        Font dialogInputFont = new Font(Font.DIALOG_INPUT, Font.PLAIN, 20);

        g.setFont(serifFont);
        g.drawString("Serif Font", 50, 50);

        g.setFont(sansSerifFont);
        g.drawString("SansSerif Font", 50, 80);

        g.setFont(monospacedFont);
        g.drawString("Monospaced Font", 50, 110);

        g.setFont(dialogFont);
        g.drawString("Dialog Font", 50, 140);

        g.setFont(dialogInputFont);
        g.drawString("DialogInput Font", 50, 170);
    }

    public static void main(String[] args) {
        JFrame frame = new JFrame();
        frame.getContentPane().add(new DefaultFontsExample());
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 220);
        frame.setVisible(true);
    }
}