Ottenere font, dimensioni, grassetto, ecc

Sto riscontrando problemi nell’accedere a font Windows o tipi di carattere e dimensioni predefiniti. Quindi per il mio programma java ho un JComboBox con caratteri, dimensioni e colors. Il problema è che ho bisogno di pre-inserire caratteri, dimensioni e colors. Come potrei ottenere i caratteri, i colors e le dimensioni predefiniti? Finora questo è quello che ho per questo font, ma non è nel modo corretto.

  if (font.equals("Arial")) { if (size.equals("8")) { setSize = 8; } else if (size.equals("10")) { setSize = 10; } else if (size.equals("12")) { setSize = 12; } if (color.equals("Black")) { setColor = Color.BLACK; } else if (color.equals("Blue")) { setColor = Color.BLUE; } else if (color.equals("Red")) { setColor = Color.red; } Font font = new Font("Arial", setAttribute, setSize); Writer.setFont(font); Writer.setForeground(setColor); 

 GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); String[] fonts = ge.getAvailableFontFamilyNames(); 

Le dimensioni e gli stili possono essere impostati in fase di esecuzione.

PER ESEMPIO

Scelta dei caratteri

 import java.awt.*; import javax.swing.*; class ShowFonts { public static void main(String[] args) { SwingUtilities.invokeLater( new Runnable() { public void run() { 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 { 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((String)value, Font.PLAIN, 20); label.setFont(font); return label; } } 

JavaDoc

Il JDoc per GraphicsEnvironment.getAvailableFontFamilyNames() stato in parte ..

Restituisce un array contenente i nomi di tutte le famiglie di font in questo ambiente GraphicsEnvironment localizzato per le impostazioni locali predefinite, come restituito da Locale.getDefault() .

Guarda anche:

getAllFonts() ..