/* * $Id: FontChooserDemo.java,v 1.8 2005/10/31 13:42:34 zfq Exp $ * * A JFontChooser Demo template file. */ import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; import java.util.Arrays; import com.zfqjava.swing.JFontChooser; import com.zfqjava.swing.JBean; import com.zfqjava.swing.JCommonPane; /** * JFontChooser Demo * * @author $Author: zfq $ * @version $Revision: 1.8 $ $Date: 2005/10/31 13:42:34 $ */ public class FontChooserDemo extends JPanel { private JFontChooser fontChooser; private Object[] EFFECT_SET = { "underline", "strikethrough", "superscript", "subscript" }; public FontChooserDemo() { setLayout(new BorderLayout()); fontChooser = createFontChooser(); add(fontChooser, BorderLayout.CENTER); add(createPropertyPanel(), BorderLayout.EAST); } private JFontChooser createFontChooser() { JFontChooser fontChooser = new JFontChooser(); fontChooser.setEffectSet(EFFECT_SET); // fontChooser.putClientProperty("JFontChooser.forContentType", "text/rtf"); return fontChooser; } private JPanel createPropertyPanel() { JPanel panel = new JPanel(); JButton b = new JButton("Show Dialog"); b.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { JFontChooser fontChooser = createFontChooser(); int retValue = fontChooser.showDialog(null); String message = "error option"; if(retValue == JFontChooser.OK_OPTION) { message = "You select font: " + fontChooser.getSelectedFont() + "\nEffectSet:"+Arrays.asList(fontChooser.getEffectSet()) + "\nSelected Effects:"+ Arrays.asList(fontChooser.getSelectedEffects()) + "\nFont Color:"+fontChooser.getFontColor() + "\nFont Locale:"+fontChooser.getFontLocale(); } else { message = "You cancel the dialog"; } JOptionPane.showMessageDialog(null, message); } }); panel.add(b); return panel; } public static void main(String[] args) { DemoPanel demoPanel = new DemoPanel(); demoPanel.addDemo(new FontChooserDemo()); demoPanel.setTitle("JFontChooser Demo"); demoPanel.setDefaultCloseOperation(JBean.EXIT_ON_CLOSE); demoPanel.showFrame(); } }