Java如何使用GUI繪製文字?

2019-10-16 22:27:06

在Java的GUI程式設計中,如何使用GUI繪製文字?

下面的例子演示了如何使用Graphics類的drawString()setFont()方法來繪製文字。

package com.yiibai;

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

public class DrawTextUsingGUI extends JPanel {
    public void paint(Graphics g) {
        Graphics2D g2 = (Graphics2D) g;
        g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

        Font font = new Font("Serif", Font.PLAIN, 36);
        g2.setFont(font);
        g2.drawString("This a Text", 40, 120);
    }

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

上述程式碼範例將產生以下結果。

範例-2

以下是使用GUI繪製文字的另一個範例。

package com.yiibai;

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

public class DrawTextUsingGUI2 extends JPanel {
    public void paint(Graphics gr) {
        Graphics2D g = (Graphics2D) gr;
        g.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);

        Font font = new Font("Serif", Font.PLAIN, 56);
        g.setFont(font);
        g.drawString("Tw511.com", 40, 120);
    }

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

上述程式碼範例將產生以下結果。