首頁 > Java > java教程 > 主體

如何在 Java 中存取和操作字體、大小和樣式?

Barbara Streisand
發布: 2024-10-28 16:29:01
原創
491 人瀏覽過

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

在Java 中取得字體、大小、粗體等

在Java 程式中存取預先定義的字體、大小和顏色可能具有挑戰性。為了解決這個問題,讓我們探討如何有效地獲得這些元素。

GraphicsEnvironment

要檢索系統上可用的字體,請使用 GraphicsEnvironment 類別。它提供了 getAvailableFontFamilyNames() 方法,該方法傳回一個包含所有已安裝字體系列名稱的字串陣列。

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

字體渲染

一旦擁有字體名稱,您可以建立具有所需屬性的字體物件。 Font 建構子採用三個參數:字型名稱、樣式、大小。例如,要建立大小為12 且粗體樣式的Arial 字體,請使用:

<code class="java">Font font = new Font("Arial", Font.BOLD, 12);</code>
登入後複製

大小和樣式

與字體不同,大小和樣式樣式可以在運行時動態設定。它們在 Font 類別中定義為常數,例如樣式的 Font.BOLD、Font.ITALIC 和 Font.PLAIN,以及大小的 Font.SIZE1、Font.SIZE2 等。

<code class="java">font.setBold(true);
font.setSize(14);</code>
登入後複製

範例

以下程式碼片段示範了一個Java 程序,該程式顯示一個字體選擇器,允許使用者選擇字體系列、大小和顏色:

<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

請參考GraphicsEnvironment.getAvailableFontFamilyNames() 的JavaDoc 以了解詳細資訊:

以上是如何在 Java 中存取和操作字體、大小和樣式?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!