在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中文網其他相關文章!