Fuentes en java

Y desde la tienda de mascotas tipo Java [Con +10 a todas las resistencias, +10 puntos a todas tus habilidades y habilidad innata para matar... reminicencias del Wow, sorry], hoy mostramos las fuentes del sistema vistas en Java:


import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.GraphicsEnvironment;
import java.awt.event.ActionEvent;
import javax.swing.AbstractAction;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;

/**
 *
 * @author Administrador-AKA Xpolito
 */
public class AllFonts extends JPanel {

    private int li = 0, ls = 9;
    private Font[] fuentes;

    public int getLi() {
        return li;
    }

    public void setLi(int li) {
        this.li = li;
    }

    public int getLs() {
        return ls;
    }

    public void setLs(int ls) {
        this.ls = ls;
    }

    public AllFonts() {
        initFonts();
    }

    @Override
    public void paint(Graphics g) {
        super.paint(g);
        for (int i = li; i < ls; i++) {
            try {
                g.setFont(fuentes[i]);
                g.drawString(fuentes[i].getName(), 10, i * 25);
            } catch (Exception e) {
                System.out.println("Error");
            }
        }

    }

    private void initFonts() {
        fuentes = GraphicsEnvironment.getLocalGraphicsEnvironment().getAllFonts();
        for (int i = 0; i < fuentes.length; i++) {
            try {
                fuentes[i] = new Font(fuentes[i].getName(), Font.PLAIN, 20);
            } catch (Exception e) {
                System.out.println("Error");
            }
        }
        setPreferredSize(new Dimension(400, fuentes.length * 25));
    }

    public static void main(String[] args) {
        JFrame x = new JFrame("Muestra de fuentes");
        x.setVisible(true);
        x.setSize(new Dimension(400, 800));
        x.setPreferredSize(x.getSize());
        x.setLocation(100, 100);
        x.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        final AllFonts w = new AllFonts();
        final JScrollPane y = new JScrollPane(w);
        x.setLayout(new BorderLayout());
        x.add(y, BorderLayout.CENTER);
        JButton z = new JButton("next");
        z.addActionListener(new AbstractAction() {

            public void actionPerformed(ActionEvent e) {
                w.setLs(w.getLs() + 10);
                w.repaint();
            }
        });
        x.add(z, BorderLayout.SOUTH);
        x.validate();
    }
}


La cap:

Captura de la mascota

Captura de la mascota

Y todo por que necesito una fuente que “rulee” en mi BlackBox…

Recuerdo que mi asesor nos adiestro para hacer eso como una macro en Word, por desgracia no recuerdo como :( , y ahora pues estamos en java!

Escribe un comentario