Этот совет Java demostrates Как подготовить список всех доступных шрифтов семей. Семья может быть описана как группы всех шрифтов с аналогичным или связанным типографского дизайна. Например, шрифт лица в семье Lucida Sans Typewriter может быть Lucida Sans Typewriter Bold, и Lucida Sans Typewriter Regular. Для разработчика информацию J2SE 1.4 поддерживает только шрифты True Type.


    // Get names of all the font families

    GraphicsEnvironment environment = 

      GraphicsEnvironment.getLocalGraphicsEnvironment();

    String fontNames[] = environment.getAvailableFontFamilyNames();

    

    // A for loop for Iterating through all the font family names

    for (int i=0; i<fontNames.length; i++) {



        System.out.println(fontNames[i]);



        // Aria

        // Comic Sans MS

        // Verdana

        // ...

    }

Это свидетельствует о Java советы методом нанесения текста со смешанным стиле компонентов Java. Текста можно сделать путем перезаписи Paint () функцию компонента. Здесь разработчик может добавить новый шрифт и цвет фона с частью текста. Различные стили могут применяться на различных частях текста в зависимости от потребности разработчика. Это предполагает установление атрибутов в различных частях текста.


    // Apply styles to text from start to end which 

    // may be defined by the developer

    AttributedString textstr = new AttributedString("text");

    textstr.addAttribute(TextAttribute.FONT, font, start, end);

    textstr.addAttribute(TextAttribute.BACKGROUND, color, start, end);

    

    // Draw mixed-style text

    TextLayout layout = new TextLayout(textstr.getIterator()

      g2d.getFontRenderContext());

      

    layout.draw(g2d, x, y);

Этот совет Java demostrates как нарисовать текст в компоненте лица. Текст можно сделать путем перезаписи Paint () функцию компонента.


public void paint(Graphics g) {



        // Set the font for example Lucida Sans Typewriter if it is

        // different from the default font

        String family = "Lucida Sans Typewriter";

        int style = Font.PLAIN;

        int size = 18;

        Font font = new Font(family, style, size);



        g.setFont(font);

    

        // Draw a text such that its base line is at x, y

        int x = 10;

        int y = 10;



        g.drawString("Text", x, y);

    

    

        // Draw a text such that the top-left corner is at x, y

        x = 10;

        y = 30;

        FontMetrics fontMetrics = g.getFontMetrics();

        g.drawString("text", x, y+fontMetrics.getAscent());

}