2010年12月15日 星期三

Java 視窗程式 - 字型範例

以下分享一下 Java 視窗裡的字型變化的實作

例如:字體、樣式、大小




import java.awt.*;
import java.awt.event.*;

public class FontExample extends Frame implements ItemListener
{
    Choice chFont, chStyle, chSize;
    Label l;
    String fontName[] = {"dialog", "dialoginput", "serif", "sansserif", "monospaced"};    //字型
    int fontStyle[] = {Font.PLAIN, Font.BOLD, Font.ITALIC, Font.BOLD|Font.ITALIC};   //字型樣式
    public static void main(String argv[]){
        new FontExample();
    }
 
    public FontExample()
    {
        super("Font Example");
        chFont = new Choice();
        for (int i=0; i<fontName.length; i++)   //將字型加入 Choice
            chFont.add(fontName[i]);
        chStyle = new Choice();    //將樣式加入 Choice
        chStyle.add("標準");
        chStyle.add("粗體");
        chStyle.add("斜體");
        chStyle.add("粗斜體");
        chSize = new Choice();    //將字體大小加入 Choice
        for (int i=8; i<=72; i+=2)
            chSize.add(Integer.toString(i));
        chFont.addItemListener(this);
        chStyle.addItemListener(this);
        chSize.addItemListener(this);
        Panel p = new Panel(new GridLayout(1,3));
        p.add(chFont);
        p.add(chStyle);
        p.add(chSize);
        l = new Label("AWT Font Test");
        add(p, BorderLayout.NORTH);
        add(l, BorderLayout.CENTER);
        pack();
        setVisible(true);
    }
    public void itemStateChanged(ItemEvent e)   //實作 itemStateChanged 事件
    {
        String name = chFont.getSelectedItem();
        int style = fontStyle[chStyle.getSelectedIndex()];
        int size = Integer.parseInt(chSize.getSelectedItem());
        Font f = new Font(name, style, size);   //把設定的字型, 樣式, 大小 建立一個 Font 物件
        l.setFont(f);   //設定文字
        pack();
    }
}

沒有留言:

張貼留言