![]() ![]() ![]() |
![]() |
Prav tako lahko uporabimo lokalne pisave če najprej pogledamo celoten izpis pisav, kar lahko traja tudi nekaj sekund. Pregled pisav z ukazoma getAllFonts ali getAvailableFontFamilyNames (pod GraphicsEnvironment) izgleda takole:
GraphicsEnvironment env = GrapicsEnvironment.getLocalGraphicsEnvironment();Potem
env.getAllFonts();ali
env.getAvailableFontFamilyNames();Najboljši način bi bilo izvajanje getAvailableFontFamilyNames v zanki in iskanje željenega imena, pri čemer moramo imeti na razpolago tudi rezervna imena, če prve izbire ni na voljo. Če konstruktorju Font pošljemo pisavo, ki je ni na lokalnem računalniku, bo uporabljena pisava SansSerif. V nasprotju z zavajajočim opisom v API bo v JDK 1.2B4 uporabljena pisava SansSerif, če bomo hoteli uporabiti pisavo, katere prej nismo poiskali med razpoložljivimi, čeprav je na voljo na lokalnem računalu.
import java.awt.*; /** Listing the names of all available local fonts with * Java2D in Java 1.2. * 1998 Marty Hall, http://www.apl.jhu.edu/~hall/java/ */ public class ListFonts { public static void main(String[] args) { GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment(); String[] fontNames = env.getAvailableFontFamilyNames(); System.out.println("Available Fonts:"); for(int i=0; i<fontNames.length; i++) System.out.println(" " + fontNames[i]); } }
import java.awt.*; public class DrawExample3 extends DrawExample2 { public DrawExample3() { loadFonts(); } protected void loadFonts() { GraphicsEnvironment env = GraphicsEnvironment.getLocalGraphicsEnvironment(); env.getAllFonts(); setFont(new Font("Goudy Handtooled BT", Font.PLAIN, 100)); } protected void drawBigString(Graphics2D g2d) { g2d.setPaint(Color.black); g2d.drawString("Java 2D", 25, 215); } public void paintComponent(Graphics g) { Graphics2D g2d = (Graphics2D)g; g2d.clearRect(0, 0, getSize().width, getSize().height); drawFilledCircle(g2d); drawBigString(g2d); } public static void main(String[] args) { WindowUtil.openInJFrame(new DrawExample3(), 380, 400); } }
avtor: Filip
Božič
december,
1998