İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır
Zafer Teker
tekzaf@yahoo.com

Font Family Liste Component'i

Göster Gizle Kopar Satır Gizle Satır Göster
  1 package com.godoro.swing;
  2 import javax.swing.*;
  3 import java.awt.*;
  4 public class FontFamilyList extends JList{
  5   public FontFamilyList(){
  6     FontFamilyModel model=new FontFamilyModel();
  7     setModel(model);
  8   }
  9   class FontFamilyModel extends AbstractListModel{
 10     String[] fonts;
 11     public FontFamilyModel(){
 12       setFonts();
 13     }
 14     public int getSize(){
 15       return fonts.length;
 16     }
 17     public Object getElementAt(int index){
 18       return fonts[index];
 19     }
 20     private void setFonts(){
 21       GraphicsEnvironment env=GraphicsEnvironment.getLocalGraphicsEnvironment();
 22       fonts=env.getAvailableFontFamilyNames();
 23     }
 24   }
 25   public static void main(String[] args) {
 26     JFrame frame=new JFrame();
 27     frame.setBounds(0,0,200,300);
 28     FontFamilyList list=new FontFamilyList();
 29     frame.getContentPane().setLayout(new BorderLayout());
 30     frame.getContentPane().add(new JScrollPane(list),BorderLayout.CENTER);
 31     frame.setVisible(true);
 32   }
 33 }

Bu örnekte bir font family listesi yaratıyoruz. Font isimlerini sistemden GraphicsEnvironment class'ı ile buluyoruz. AbstractListModel implements ederek bir model yaratıyoruz.

FontFamilyModel AbstractListModel'i exteds etmiş ve

public int getSize(){
	return fonts.length;
}
public Object getElementAt(int index){
	return fonts[index];
}

method'larını yazmıştır. Model kurucuda setFonts() method'unu çağırarak font'ların yüklenmesini sağlamıştır. setFont method'u ise

GraphicsEnvironment env=GraphicsEnvironment.getLocalGraphicsEnvironment();
fonts=env.getAvailableFontFamilyNames();

ile tüm font isimlerini fonts dizisine atamıştır. Böylece tüm fontların bir listesi elde edilmiştir.

Bu listeyi Font dialog kutularında kullanabilirsiniz.

Dosya Listesi

İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır