首頁 > Java > java教程 > 主體

如何在 Java 應用程式中自訂字體、大小和顏色?

Patricia Arquette
發布: 2024-10-30 09:56:27
原創
608 人瀏覽過

How Can I Customize Fonts, Sizes, and Colors in Java Applications?

取得字體、大小、粗體等

在Java 中,存取預先定義的字體、大小和顏色對於建立具有視覺吸引力的應用程式。這些元素增強了使用者體驗並實現一致的格式。

取得可用字體

要取得系統上可用字體的列表,請使用以下程式碼:

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

此指令擷取字型系列名稱的數組,這些名稱可以顯示在JComboBox 中或用於進一步處理。

決定字體大小和樣式

字體大小和樣式可以在運行時動態設定。以下範例示範了字體大小選擇:

<code class="java">JComboBox sizeChooser = new JComboBox(new String[] { "8", "10", "12" });</code>
登入後複製

同樣,您可以為字體樣式建立 JComboBox,例如粗體、斜體和普通。

完整範例 h3>

以下程式碼示範了一個完整的字體選擇器,在單獨的JComboBox 中顯示字體系列、大小和顏色:

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

public class FontChooser {

    public static void main(String[] args) {
        SwingUtilities.invokeLater(() -> {
            // Get available fonts
            GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
            String[] fonts = ge.getAvailableFontFamilyNames();

            // Create comboboxes for fonts, sizes, and colors
            JComboBox fontChooser = new JComboBox(fonts);
            fontChooser.setRenderer(new FontCellRenderer());
            JComboBox sizeChooser = new JComboBox(new String[] { "8", "10", "12" });
            JComboBox colorChooser = new JComboBox(new String[] { "Black", "Blue", "Red" });

            // Create a panel to hold the choosers
            JPanel chooserPanel = new JPanel();
            chooserPanel.add(fontChooser);
            chooserPanel.add(sizeChooser);
            chooserPanel.add(colorChooser);

            // Show the chooser dialog
            JOptionPane.showMessageDialog(null, chooserPanel);
        });
    }
}

// Renderer for the font combobox
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>
登入後複製

透過使用提供的程式碼,您可以合併字體選擇和格式化功能到您的Java 應用程式中,增強其功能和視覺吸引力。

以上是如何在 Java 應用程式中自訂字體、大小和顏色?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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