Rumah  >  Artikel  >  Java  >  Bagaimanakah saya boleh mengakses dan memanipulasi fon, saiz dan gaya dalam Java?

Bagaimanakah saya boleh mengakses dan memanipulasi fon, saiz dan gaya dalam Java?

Barbara Streisand
Barbara Streisandasal
2024-10-28 16:29:01484semak imbas

How do I access and manipulate fonts, sizes, and styles in Java?

Mendapatkan Fon, Saiz, Tebal dan Banyak Lagi dalam Java

Mengakses fon, saiz dan warna yang dipratentukan dalam program Java boleh menjadi mencabar . Untuk menyelesaikan isu ini, mari kita terokai cara mendapatkan elemen ini dengan berkesan.

GraphicsEnvironment

Untuk mendapatkan semula fon yang tersedia pada sistem, gunakan kelas GraphicsEnvironment. Ia menyediakan kaedah getAvailableFontFamilyNames(), yang mengembalikan tatasusunan rentetan yang mengandungi nama semua keluarga fon yang dipasang.

<code class="java">GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
String[] fonts = ge.getAvailableFontFamilyNames();</code>

Rendering Fon

Sebaik sahaja anda mempunyai fon nama, anda boleh mencipta objek fon dengan atribut yang diingini. Pembina Font mengambil tiga parameter: nama fon, gaya dan saiz. Contohnya, untuk mencipta fon Arial dengan saiz 12 dan gaya tebal, gunakan:

<code class="java">Font font = new Font("Arial", Font.BOLD, 12);</code>

Saiz dan Gaya

Tidak seperti fon, saiz dan gaya boleh ditetapkan secara dinamik pada masa jalan. Ia ditakrifkan sebagai pemalar dalam kelas Font, seperti Font.BOLD, Font.ITALIC dan Font.PLAIN untuk gaya dan Font.SIZE1, Font.SIZE2 dan seterusnya, untuk saiz.

<code class="java">font.setBold(true);
font.setSize(14);</code>

Contoh

Coretan berikut menunjukkan program Java yang memaparkan pemilih fon yang membenarkan pengguna memilih keluarga fon, saiz dan warna:

<code class="java">import java.awt.*;
import javax.swing.*;

public class FontDemo {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
            String[] fonts = ge.getAvailableFontFamilyNames();
            JComboBox fontChooser = new JComboBox(fonts);
            fontChooser.setRenderer(new FontCellRenderer());
            JOptionPane.showMessageDialog(null, fontChooser);
        });
    }
}

class FontCellRenderer extends DefaultListCellRenderer {

    @Override
    public Component getListCellRendererComponent(
            JList list,
            Object value,
            int index,
            boolean isSelected,
            boolean cellHasFocus) {
        JLabel label = (JLabel)super.getListCellRendererComponent(
                list,value,index,isSelected,cellHasFocus);
        Font font = new Font(value.toString(), Font.PLAIN, 20);
        label.setFont(font);
        return label;
    }
}</code>

JavaDoc

Rujuk JavaDoc untuk GraphicsEnvironment.getAvailableFontFamilyNames() untuk maklumat terperinci:

[GraphicsEnvironment.getAvailableFontFamilyNames()](oraclehttps://docs. /javase/7/docs/api/java/awt/GraphicsEnvironment.html#getAvailableFontFamilyNames())

Atas ialah kandungan terperinci Bagaimanakah saya boleh mengakses dan memanipulasi fon, saiz dan gaya dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn