Rumah >Java >javaTutorial >Bagaimanakah saya boleh mengakses dan memanipulasi fon, saiz dan gaya dalam 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!