[Japi-cvs] SF.net SVN: japi: [517] tools/fontbrowser/trunk/src/net/sf/japi/tools/ fontbrowser/FontB
Status: Beta
Brought to you by:
christianhujer
From: <chr...@us...> - 2007-07-07 12:57:50
|
Revision: 517 http://svn.sourceforge.net/japi/?rev=517&view=rev Author: christianhujer Date: 2007-07-07 05:57:48 -0700 (Sat, 07 Jul 2007) Log Message: ----------- Added preview of the selected font. Modified Paths: -------------- tools/fontbrowser/trunk/src/net/sf/japi/tools/fontbrowser/FontBrowser.java Modified: tools/fontbrowser/trunk/src/net/sf/japi/tools/fontbrowser/FontBrowser.java =================================================================== --- tools/fontbrowser/trunk/src/net/sf/japi/tools/fontbrowser/FontBrowser.java 2007-07-07 10:15:32 UTC (rev 516) +++ tools/fontbrowser/trunk/src/net/sf/japi/tools/fontbrowser/FontBrowser.java 2007-07-07 12:57:48 UTC (rev 517) @@ -20,16 +20,26 @@ package net.sf.japi.tools.fontbrowser; import java.awt.Component; +import java.awt.Dimension; +import java.awt.Font; import java.awt.GraphicsEnvironment; +import java.awt.Point; +import java.awt.Toolkit; import javax.swing.JFrame; import javax.swing.JList; import javax.swing.JScrollPane; +import javax.swing.JSplitPane; import javax.swing.JTabbedPane; +import javax.swing.JTextArea; import static javax.swing.WindowConstants.DISPOSE_ON_CLOSE; +import javax.swing.event.ListSelectionEvent; +import javax.swing.event.ListSelectionListener; import net.sf.japi.swing.ActionFactory; import org.jetbrains.annotations.NotNull; -/** A Font Browser. */ +/** A Font Browser. + * @author <a href="mailto:ch...@ri...">Christian Hujer</a> + */ public class FontBrowser { /** Action Factory. */ @@ -50,7 +60,11 @@ frame.add(tabs); tabs.add(ACTION_FACTORY.getString("names.title"), createNamesTab()); tabs.add(ACTION_FACTORY.getString("fonts.title"), createFontsTab()); - frame.pack(); + final Dimension size = Toolkit.getDefaultToolkit().getScreenSize(); + size.width >>= 1; + size.height >>= 1; + frame.setSize(size); + frame.setLocation(new Point(size.width >> 1, size.height >> 1)); frame.setDefaultCloseOperation(DISPOSE_ON_CLOSE); frame.setVisible(true); } @@ -59,7 +73,17 @@ * @return The tab component for font names. */ @NotNull private static Component createNamesTab() { - return new JScrollPane(new JList(GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames())); + final JList fontNameList = new JList(GraphicsEnvironment.getLocalGraphicsEnvironment().getAvailableFontFamilyNames()); + final JTextArea fontExample = new JTextArea(64, 16); + fontNameList.addListSelectionListener(new ListSelectionListener() { + public void valueChanged(final ListSelectionEvent e) { + final String value = (String) fontNameList.getSelectedValue(); + fontExample.setFont(new Font(value, Font.PLAIN, 14)); + System.err.println(value); + } + }); + fontExample.setText("Falsches Üben von Xylophonmusik quält jeden größeren Zwerg."); + return new JSplitPane(JSplitPane.VERTICAL_SPLIT, true, new JScrollPane(fontNameList), new JScrollPane(fontExample)); } /** Create the tab component for fonts. This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |