[Japi-cvs] SF.net SVN: japi: [572] tools
Status: Beta
Brought to you by:
christianhujer
From: <chr...@us...> - 2007-08-12 11:45:47
|
Revision: 572 http://japi.svn.sourceforge.net/japi/?rev=572&view=rev Author: christianhujer Date: 2007-08-12 04:45:43 -0700 (Sun, 12 Aug 2007) Log Message: ----------- Moved static factory method for ActionBuilder to new factory class ActionBuilderFactory. Modified Paths: -------------- historic/trunk/src/app/net/sf/japi/swing/JFileChooserButton.java historic/trunk/src/app/net/sf/japi/swing/JSAXErrorHandler.java historic/trunk/src/app/net/sf/japi/swing/LookAndFeelManager.java historic/trunk/src/app/net/sf/japi/swing/TipOfTheDayManager.java historic/trunk/src/app/net/sf/japi/swing/bookmarks/BookmarkManager.java historic/trunk/src/app/net/sf/japi/swing/font/FontChooser.java historic/trunk/src/app/net/sf/japi/swing/font/FontPreview.java historic/trunk/src/app/net/sf/japi/swing/font/FontStyleListCellRenderer.java historic/trunk/src/app/net/sf/japi/swing/prefs/PreferencesPane.java historic/trunk/src/doc/guide/swing/action/basic/src/ex/Application.java historic/trunk/src/doc/guide/swing/action/fromScratch/src/net/sf/japi/examples/editor/Editor.java historic/trunk/src/doc/guide/swing/prefs/keys/src/ex/PrefsExampleApp.java historic/trunk/src/doc/guide/swing/tod/src/ex/TodExampleApp.java libs/swing-about/trunk/src/net/sf/japi/swing/about/AboutDialog.java libs/swing-action/trunk/src/net/sf/japi/swing/ActionBuilder.java libs/swing-action/trunk/src/net/sf/japi/swing/ReflectionAction.java libs/swing-action/trunk/src/test/net/sf/japi/swing/ReflectionActionTest.java libs/swing-bookmarks/trunk/src/net/sf/japi/swing/bookmarks/BookmarkManager.java libs/swing-font/trunk/src/net/sf/japi/swing/font/FontChooser.java libs/swing-font/trunk/src/net/sf/japi/swing/font/FontPreview.java libs/swing-font/trunk/src/net/sf/japi/swing/font/FontStyleListCellRenderer.java libs/swing-keyprefs/trunk/src/net/sf/japi/swing/prefs/keys/ActionKeyDisplay.java libs/swing-keyprefs/trunk/src/net/sf/japi/swing/prefs/keys/KeyStrokePrefs.java libs/swing-keyprefs/trunk/src/net/sf/japi/swing/prefs/keys/KeyStrokeTreeTableModel.java libs/swing-list/trunk/src/net/sf/japi/swing/list/ListControlPanel.java libs/swing-misc/trunk/src/net/sf/japi/swing/misc/JFileChooserButton.java libs/swing-misc/trunk/src/net/sf/japi/swing/misc/JSAXErrorHandler.java libs/swing-prefs/trunk/src/net/sf/japi/swing/prefs/PreferencesPane.java libs/swing-tod/trunk/src/net/sf/japi/swing/tod/TipOfTheDayManager.java progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/jtest/gui/ProgramFrame.java progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/jtest/gui/QuestionCollectionGUI.java progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/swing/AbstractManager.java progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/swing/InternalFrameManager.java progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/swing/MenuManager.java progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/swing/OpenURLPane.java progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/swing/ToolBarManager.java progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/swing/recent/RecentURLsMenu.java progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/swing/settings/SettingsPane.java progs/jeduca/trunk/src/net/sf/japi/swing/LookAndFeelManager.java tools/fontbrowser/trunk/src/net/sf/japi/tools/fontbrowser/FontBrowser.java tools/keystrokes/trunk/src/net/sf/japi/tools/keystrokes/KeyStrokes.java tools/prefsbrowser/trunk/src/net/sf/japi/tools/prefsbrowser/PrefsBrowser.java tools/prefsbrowser/trunk/src/net/sf/japi/tools/prefsbrowser/PrefsTreeTableModel.java tools/string2bytes/trunk/src/net/sf/japi/string2bytes/CodecSelectionPanel.java tools/string2bytes/trunk/src/net/sf/japi/string2bytes/DoubleListController.java tools/string2bytes/trunk/src/net/sf/japi/string2bytes/ListOrderController.java tools/string2bytes/trunk/src/net/sf/japi/string2bytes/String2Bytes.java Added Paths: ----------- libs/swing-action/trunk/src/net/sf/japi/swing/ActionBuilderFactory.java Modified: historic/trunk/src/app/net/sf/japi/swing/JFileChooserButton.java =================================================================== --- historic/trunk/src/app/net/sf/japi/swing/JFileChooserButton.java 2007-08-12 09:02:36 UTC (rev 571) +++ historic/trunk/src/app/net/sf/japi/swing/JFileChooserButton.java 2007-08-12 11:45:43 UTC (rev 572) @@ -33,7 +33,7 @@ public class JFileChooserButton extends JButton { /** Action Builder. */ - private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("net.sf.japi.swing"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.swing"); /** The JTextField to read/write the file path to. * @serial include Modified: historic/trunk/src/app/net/sf/japi/swing/JSAXErrorHandler.java =================================================================== --- historic/trunk/src/app/net/sf/japi/swing/JSAXErrorHandler.java 2007-08-12 09:02:36 UTC (rev 571) +++ historic/trunk/src/app/net/sf/japi/swing/JSAXErrorHandler.java 2007-08-12 11:45:43 UTC (rev 572) @@ -37,7 +37,7 @@ public final class JSAXErrorHandler extends JOptionPane implements ErrorHandler { /** Action Builder. */ - private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("net.sf.japi.swing"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.swing"); /** The JTextArea which displays the errors. * @serial include Modified: historic/trunk/src/app/net/sf/japi/swing/LookAndFeelManager.java =================================================================== --- historic/trunk/src/app/net/sf/japi/swing/LookAndFeelManager.java 2007-08-12 09:02:36 UTC (rev 571) +++ historic/trunk/src/app/net/sf/japi/swing/LookAndFeelManager.java 2007-08-12 11:45:43 UTC (rev 572) @@ -33,8 +33,8 @@ import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JRadioButtonMenuItem; +import static javax.swing.SwingUtilities.updateComponentTreeUI; import javax.swing.UIManager; -import static javax.swing.SwingUtilities.updateComponentTreeUI; import static javax.swing.UIManager.getInstalledLookAndFeels; import static javax.swing.UIManager.getLookAndFeel; import static javax.swing.UIManager.installLookAndFeel; @@ -82,7 +82,7 @@ * @return menu with selectable look and feels */ public JMenu createMenu() { - return fillMenu(new JMenu(ActionBuilder.getActionBuilder("net.sf.japi.swing").createAction(true, "laf"))); + return fillMenu(new JMenu(ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.swing").createAction(true, "laf"))); } /** Fill a menu with look and feel selection items. Modified: historic/trunk/src/app/net/sf/japi/swing/TipOfTheDayManager.java =================================================================== --- historic/trunk/src/app/net/sf/japi/swing/TipOfTheDayManager.java 2007-08-12 09:02:36 UTC (rev 571) +++ historic/trunk/src/app/net/sf/japi/swing/TipOfTheDayManager.java 2007-08-12 11:45:43 UTC (rev 572) @@ -23,6 +23,12 @@ import java.awt.Component; import java.awt.Dimension; import java.awt.Font; +import java.io.BufferedReader; +import java.io.InputStream; +import java.io.InputStreamReader; +import java.io.UnsupportedEncodingException; +import java.security.AccessController; +import java.security.PrivilegedAction; import java.util.ArrayList; import java.util.List; import java.util.MissingResourceException; @@ -31,12 +37,6 @@ import static java.util.ResourceBundle.getBundle; import java.util.prefs.Preferences; import static java.util.prefs.Preferences.userNodeForPackage; -import java.io.InputStream; -import java.io.BufferedReader; -import java.io.InputStreamReader; -import java.io.UnsupportedEncodingException; -import java.security.PrivilegedAction; -import java.security.AccessController; import javax.swing.Action; import static javax.swing.Action.ACCELERATOR_KEY; import javax.swing.JButton; @@ -48,9 +48,9 @@ import javax.swing.JScrollPane; import javax.swing.KeyStroke; import static javax.swing.SwingConstants.TRAILING; -import org.jetbrains.annotations.Nullable; import static net.sf.japi.swing.ActionBuilder.ACCELERATOR_KEY_2; import static net.sf.japi.swing.IconManager.getDefaultIconManager; +import org.jetbrains.annotations.Nullable; /** Class that manages tips of the day. * The tips of the day are read from a property file. @@ -80,7 +80,7 @@ public final class TipOfTheDayManager extends JOptionPane { /** Action Builder. */ - private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("net.sf.japi.swing"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.swing"); /** Random number generator for random tods. */ private static final Random RND = new Random(); Modified: historic/trunk/src/app/net/sf/japi/swing/bookmarks/BookmarkManager.java =================================================================== --- historic/trunk/src/app/net/sf/japi/swing/bookmarks/BookmarkManager.java 2007-08-12 09:02:36 UTC (rev 571) +++ historic/trunk/src/app/net/sf/japi/swing/bookmarks/BookmarkManager.java 2007-08-12 11:45:43 UTC (rev 572) @@ -49,6 +49,10 @@ import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; +import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; +import net.sf.japi.swing.IconManager; +import net.sf.japi.util.EmptyEnumeration; import org.w3c.dom.DOMImplementation; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -56,9 +60,6 @@ import org.w3c.dom.NodeList; import org.w3c.dom.ls.DOMImplementationLS; import org.xml.sax.SAXException; -import net.sf.japi.swing.ActionBuilder; -import net.sf.japi.swing.IconManager; -import net.sf.japi.util.EmptyEnumeration; /** Class for managing and displaying Bookmarks. * Usage of this class works the following way: @@ -78,7 +79,7 @@ private BookmarkFolder bookmarks = new BookmarkFolder(); /** Action Builder. */ - private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("net.sf.japi.swing.bookmarks"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.swing.bookmarks"); /** The ProgramFrame this BookmarkManager manages bookmarks for. */ private Bookmarkable bookmarkable; Modified: historic/trunk/src/app/net/sf/japi/swing/font/FontChooser.java =================================================================== --- historic/trunk/src/app/net/sf/japi/swing/font/FontChooser.java 2007-08-12 09:02:36 UTC (rev 571) +++ historic/trunk/src/app/net/sf/japi/swing/font/FontChooser.java 2007-08-12 11:45:43 UTC (rev 572) @@ -47,8 +47,9 @@ import javax.swing.event.ChangeListener; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; +import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; import org.jetbrains.annotations.Nullable; -import net.sf.japi.swing.ActionBuilder; /** Class for letting the user choose a font. * There are two possibilities to use this class: @@ -61,7 +62,7 @@ public class FontChooser extends JComponent implements ListSelectionListener, ChangeListener { /** Action Builder. */ - private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("net.sf.japi.swing.font"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.swing.font"); /** JList for Font Family. * @serial include Modified: historic/trunk/src/app/net/sf/japi/swing/font/FontPreview.java =================================================================== --- historic/trunk/src/app/net/sf/japi/swing/font/FontPreview.java 2007-08-12 09:02:36 UTC (rev 571) +++ historic/trunk/src/app/net/sf/japi/swing/font/FontPreview.java 2007-08-12 11:45:43 UTC (rev 572) @@ -23,6 +23,7 @@ import java.awt.Dimension; import javax.swing.JTextField; import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; /** Font Preview. * Uses a localized text to display the font, but the user may edit the text to try out the characters she's interested in. @@ -35,7 +36,7 @@ private static final long serialVersionUID = 1L; /** Action Builder. */ - private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("net.sf.japi.swing.font"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.swing.font"); /** Create a new FontPreview. */ public FontPreview() { Modified: historic/trunk/src/app/net/sf/japi/swing/font/FontStyleListCellRenderer.java =================================================================== --- historic/trunk/src/app/net/sf/japi/swing/font/FontStyleListCellRenderer.java 2007-08-12 09:02:36 UTC (rev 571) +++ historic/trunk/src/app/net/sf/japi/swing/font/FontStyleListCellRenderer.java 2007-08-12 11:45:43 UTC (rev 572) @@ -28,6 +28,7 @@ import javax.swing.DefaultListCellRenderer; import javax.swing.JList; import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; /** ListCellRenderer for font styles. * @author <a href="mailto:ch...@ri...">Christian Hujer</a> @@ -39,7 +40,7 @@ private static final long serialVersionUID = 1L; /** Action Builder. */ - private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("net.sf.japi.swing.font"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.swing.font"); /** {@inheritDoc} */ @Override public Component getListCellRendererComponent(final JList list, final Object value, final int index, final boolean isSelected, final boolean cellHasFocus) { Modified: historic/trunk/src/app/net/sf/japi/swing/prefs/PreferencesPane.java =================================================================== --- historic/trunk/src/app/net/sf/japi/swing/prefs/PreferencesPane.java 2007-08-12 09:02:36 UTC (rev 571) +++ historic/trunk/src/app/net/sf/japi/swing/prefs/PreferencesPane.java 2007-08-12 11:45:43 UTC (rev 572) @@ -41,6 +41,7 @@ import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; /** Panel to display preferences. * @serial exclude This class is not intended to be serialized. @@ -50,7 +51,7 @@ public final class PreferencesPane extends JOptionPane implements ListSelectionListener { /** Action Builder. */ - private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("net.sf.japi.swing.prefs"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.swing.prefs"); /** A map for DIALOGS that are already displaying. * This map is used to prevent the dialog for the same PreferencesGroup be shown twice within the same application. Modified: historic/trunk/src/doc/guide/swing/action/basic/src/ex/Application.java =================================================================== --- historic/trunk/src/doc/guide/swing/action/basic/src/ex/Application.java 2007-08-12 09:02:36 UTC (rev 571) +++ historic/trunk/src/doc/guide/swing/action/basic/src/ex/Application.java 2007-08-12 11:45:43 UTC (rev 572) @@ -5,6 +5,7 @@ import java.awt.event.WindowEvent; import javax.swing.JFrame; import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; import net.sf.japi.swing.ActionMethod; /** Example application. */ @@ -21,7 +22,7 @@ new Application(); } - private ActionBuilder actionBuilder = ActionBuilder.getActionBuilder("ex"); + private ActionBuilder actionBuilder = ActionBuilderFactory.getInstance().getActionBuilder("ex"); public Application() { frame = new JFrame(actionBuilder.getString("appWindow.title")); Modified: historic/trunk/src/doc/guide/swing/action/fromScratch/src/net/sf/japi/examples/editor/Editor.java =================================================================== --- historic/trunk/src/doc/guide/swing/action/fromScratch/src/net/sf/japi/examples/editor/Editor.java 2007-08-12 09:02:36 UTC (rev 571) +++ historic/trunk/src/doc/guide/swing/action/fromScratch/src/net/sf/japi/examples/editor/Editor.java 2007-08-12 11:45:43 UTC (rev 572) @@ -6,8 +6,8 @@ import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; +import java.util.HashMap; import java.util.Map; -import java.util.HashMap; import javax.swing.Action; import javax.swing.JFileChooser; import static javax.swing.JFileChooser.APPROVE_OPTION; @@ -16,15 +16,16 @@ import javax.swing.JTextPane; import static javax.swing.WindowConstants.DISPOSE_ON_CLOSE; import javax.swing.text.DefaultEditorKit; -import org.jetbrains.annotations.Nullable; import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; import net.sf.japi.swing.ActionMethod; import net.sf.japi.swing.ActionProvider; +import org.jetbrains.annotations.Nullable; public class Editor implements ActionProvider { /** Action Builder. */ - private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("net.sf.japi.examples.editor"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.examples.editor"); /** The supported editor action names and their corresponding kit action names. */ private static final Map<String, String> editorActionNames = new HashMap<String, String>(); Modified: historic/trunk/src/doc/guide/swing/prefs/keys/src/ex/PrefsExampleApp.java =================================================================== --- historic/trunk/src/doc/guide/swing/prefs/keys/src/ex/PrefsExampleApp.java 2007-08-12 09:02:36 UTC (rev 571) +++ historic/trunk/src/doc/guide/swing/prefs/keys/src/ex/PrefsExampleApp.java 2007-08-12 11:45:43 UTC (rev 572) @@ -1,13 +1,14 @@ package ex; +import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; +import net.sf.japi.swing.prefs.PreferencesGroup; import static net.sf.japi.swing.prefs.PreferencesPane.showPreferencesDialog; import net.sf.japi.swing.prefs.keys.KeyStrokePrefs; -import net.sf.japi.swing.prefs.PreferencesGroup; -import net.sf.japi.swing.ActionBuilder; public class PrefsExampleApp { - private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("ex"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("ex"); /** Main program. * @param args command line arguments Modified: historic/trunk/src/doc/guide/swing/tod/src/ex/TodExampleApp.java =================================================================== --- historic/trunk/src/doc/guide/swing/tod/src/ex/TodExampleApp.java 2007-08-12 09:02:36 UTC (rev 571) +++ historic/trunk/src/doc/guide/swing/tod/src/ex/TodExampleApp.java 2007-08-12 11:45:43 UTC (rev 572) @@ -1,9 +1,12 @@ package ex; + import javax.swing.JButton; import javax.swing.JFrame; import static javax.swing.WindowConstants.DISPOSE_ON_CLOSE; import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; import net.sf.japi.swing.TipOfTheDayManager; + public class TodExampleApp { public static void main(final String... args) { //System.setProperty("net.sf.japi.swing.tod", "ex.tod"); @@ -11,7 +14,7 @@ } final JFrame frame; public TodExampleApp() { - final ActionBuilder actionBuilder = ActionBuilder.getActionBuilder("ex"); + final ActionBuilder actionBuilder = ActionBuilderFactory.getInstance().getActionBuilder("ex"); frame = new JFrame(actionBuilder.getString("frame.title")); frame.add(new JButton(actionBuilder.createAction(false, "showTod", this))); frame.pack(); Modified: libs/swing-about/trunk/src/net/sf/japi/swing/about/AboutDialog.java =================================================================== --- libs/swing-about/trunk/src/net/sf/japi/swing/about/AboutDialog.java 2007-08-12 09:02:36 UTC (rev 571) +++ libs/swing-about/trunk/src/net/sf/japi/swing/about/AboutDialog.java 2007-08-12 11:45:43 UTC (rev 572) @@ -42,6 +42,7 @@ import javax.swing.JTextArea; import javax.swing.SwingConstants; import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -100,7 +101,7 @@ public class AboutDialog extends JPanel { /** Action Builder to create Actions. */ - @NotNull protected static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("net.sf.japi.swing.about"); + @NotNull protected static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.swing.about"); /** Default buffer size for I/O, e.g. when reading a license. */ private static final int BUF_SIZE = 4096; @@ -160,7 +161,7 @@ * @param actionBuilderName Name of the ActionBuilder to use. */ public AboutDialog(@NotNull final String actionBuilderName) { - this(ActionBuilder.getActionBuilder(actionBuilderName)); + this(ActionBuilderFactory.getInstance().getActionBuilder(actionBuilderName)); } /** Modified: libs/swing-action/trunk/src/net/sf/japi/swing/ActionBuilder.java =================================================================== --- libs/swing-action/trunk/src/net/sf/japi/swing/ActionBuilder.java 2007-08-12 09:02:36 UTC (rev 571) +++ libs/swing-action/trunk/src/net/sf/japi/swing/ActionBuilder.java 2007-08-12 11:45:43 UTC (rev 572) @@ -26,11 +26,9 @@ import java.util.ArrayList; import java.util.LinkedList; import java.util.List; -import java.util.Map; import java.util.MissingResourceException; import java.util.ResourceBundle; import static java.util.ResourceBundle.getBundle; -import java.util.WeakHashMap; import java.util.prefs.Preferences; import static java.util.prefs.Preferences.userNodeForPackage; import javax.swing.AbstractAction; @@ -146,7 +144,7 @@ * most common way of using an ActionBuilder. * </li> * <li> - * If you think you're too lazy to hold your own ActionBuilder reference and instead more often call {@link #getActionBuilder(String)}, just go ahead + * If you think you're too lazy to hold your own ActionBuilder reference and instead more often call {@link ActionBuilderFactory#getActionBuilder(String)}, just go ahead * and do so. * Looking up created ActionBuilders is extremely fast, and of course they are initialized exactly once, not more. * </li> @@ -172,9 +170,6 @@ */ @NotNull public static final String ACCELERATOR_KEY_2 = "AcceleratorKey2"; - /** The ActionBuilders. */ - @NotNull private static final Map<String, ActionBuilder> BUILDERS = new WeakHashMap<String, ActionBuilder>(); - /** The parent ActionBuilders. */ @NotNull private final List<ActionBuilder> parents = new LinkedList<ActionBuilder>(); @@ -194,25 +189,6 @@ /** The action providers that were registered and will be queried when an action should be created / retrieved. */ private List<ActionProvider> actionProviders = new ArrayList<ActionProvider>(); - /** Get an ActionBuilder. - * If there is no ActionBuilder with name <var>key</var>, a new ActionBuilder is created and stored. - * Future invocations of this method will constantly return that ActionBuilder unless the key is garbage collected. - * If you must prevent the key from being garbage collected (and with it the ActionBuilder), you may internalize the key ({@link String#intern()}). - * A good name for a key is the application or package name. - * The <code><var>key</var></code> may be a package name, in which case it is tried to load a {@link ResourceBundle} named "action" from that - * package and add it ({@link #addBundle(ResourceBundle)}); nothing special happens if that fails. - * @param key name of ActionBuilder (which even may be <code>null</code> if you are too lazy to invent a key) - * @return ActionBuilder for given key. The builder is created in case it didn't already exist. - */ - @NotNull public static ActionBuilder getActionBuilder(@Nullable final String key) { - ActionBuilder builder = BUILDERS.get(key); - if (builder == null) { - builder = new ActionBuilder(key); - BUILDERS.put(key, builder); - } - return builder; - } - /** Add a ResourceBundle to the list of used bundles. * @param baseName the base name of the resource bundle, a fully qualified class name * @see ResourceBundle#getBundle(String) @@ -294,7 +270,7 @@ /** * Create an ActionBuilder. - * Usually you wouldn't create an ActionBuilder yourself but use {@link #getActionBuilder(String)} for recycling ActionBuilders and profit of easy + * Usually you wouldn't create an ActionBuilder yourself but use {@link ActionBuilderFactory#getActionBuilder(String)} for recycling ActionBuilders and profit of easy * access to the same ActionBuilder from within the whole application without passing around ActionBuilder references. * Don't use this constructor without knowing what you're doing. * It's mainly there for testing purposes. @@ -304,7 +280,7 @@ /** * Create an ActionBuilder. - * Usually you wouldn't create an ActionBuilder yourself but use {@link #getActionBuilder(String)} for recycling ActionBuilders and profit of easy + * Usually you wouldn't create an ActionBuilder yourself but use {@link ActionBuilderFactory#getActionBuilder(String)} for recycling ActionBuilders and profit of easy * access to the same ActionBuilder from within the whole application without passing around ActionBuilder references. * Use this constructor if you explicitely need a new ActionBuilder that doesn't share information (especially the action cache) with other ActionBuilder instances. * @param key name of ActionBuilder. Added: libs/swing-action/trunk/src/net/sf/japi/swing/ActionBuilderFactory.java =================================================================== --- libs/swing-action/trunk/src/net/sf/japi/swing/ActionBuilderFactory.java (rev 0) +++ libs/swing-action/trunk/src/net/sf/japi/swing/ActionBuilderFactory.java 2007-08-12 11:45:43 UTC (rev 572) @@ -0,0 +1,61 @@ +/* + * JAPI libs-swing-action is a library for creating and managing javax.swing.Action objects. + * Copyright (C) 2007 Christian Hujer. + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + +package net.sf.japi.swing; + +import java.util.Map; +import java.util.ResourceBundle; +import java.util.WeakHashMap; +import org.jetbrains.annotations.NotNull; + +/** An ActionBuilderFactory provides implementations of {@link ActionBuilder}. + * @author <a href="mailto:ch...@ri...">Christian Hujer</a> + */ +public class ActionBuilderFactory { + + /** The ActionBuilders. */ + @NotNull public final Map<String, ActionBuilder> actionBuilders = new WeakHashMap<String, ActionBuilder>(); + + /** Create an ActionBuilderFactory. + * @return An ActionBuilderFactory. + */ + public static ActionBuilderFactory getInstance() { + return new ActionBuilderFactory(); + } + + /** Get an ActionBuilder. + * If there is no ActionBuilder with name <var>key</var>, a new ActionBuilder is created and stored. + * Future invocations of this method will constantly return that ActionBuilder unless the key is garbage collected. + * If you must prevent the key from being garbage collected (and with it the ActionBuilder), you may internalize the key ({@link String#intern()}). + * A good name for a key is the application or package name. + * The <code><var>key</var></code> may be a package name, in which case it is tried to load a {@link ResourceBundle} named "action" from that + * package and add it ({@link ActionBuilder#addBundle(ResourceBundle)}); nothing special happens if that fails. + * @param baseName Name of ActionBuilder (which even may be <code>null</code> if you are too lazy to invent a key) + * @return ActionBuilder for given key. The builder is created in case it didn't already exist. + */ + @NotNull public ActionBuilder getActionBuilder(final String baseName) { + ActionBuilder builder = actionBuilders.get(baseName); + if (builder == null) { + builder = new ActionBuilder(baseName); + actionBuilders.put(baseName, builder); + } + return builder; + } + +} // class ActionBuilderFactory Property changes on: libs/swing-action/trunk/src/net/sf/japi/swing/ActionBuilderFactory.java ___________________________________________________________________ Name: svn:mime-type + text/plain Name: svn:eol-style + LF Modified: libs/swing-action/trunk/src/net/sf/japi/swing/ReflectionAction.java =================================================================== --- libs/swing-action/trunk/src/net/sf/japi/swing/ReflectionAction.java 2007-08-12 09:02:36 UTC (rev 571) +++ libs/swing-action/trunk/src/net/sf/japi/swing/ReflectionAction.java 2007-08-12 11:45:43 UTC (rev 572) @@ -59,7 +59,7 @@ private static final Object[] NO_ARGUMENTS = new Object[0]; /** Action Builder for reading strings. */ - private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("net.sf.japi.swing"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.swing"); /** The key used for storing the target object to invoke the method on. * Value Type: {@link Object}. Modified: libs/swing-action/trunk/src/test/net/sf/japi/swing/ReflectionActionTest.java =================================================================== --- libs/swing-action/trunk/src/test/net/sf/japi/swing/ReflectionActionTest.java 2007-08-12 09:02:36 UTC (rev 571) +++ libs/swing-action/trunk/src/test/net/sf/japi/swing/ReflectionActionTest.java 2007-08-12 11:45:43 UTC (rev 572) @@ -22,6 +22,7 @@ import java.awt.event.ActionEvent; import java.lang.reflect.Method; import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; import net.sf.japi.swing.ActionMethod; import net.sf.japi.swing.ReflectionAction; import org.junit.After; @@ -37,7 +38,7 @@ public class ReflectionActionTest { /** Action Builder. */ - private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("test.net.sf.japi.swing"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("test.net.sf.japi.swing"); /** The testling: A ReflectionAction. */ private ReflectionAction testling; Modified: libs/swing-bookmarks/trunk/src/net/sf/japi/swing/bookmarks/BookmarkManager.java =================================================================== --- libs/swing-bookmarks/trunk/src/net/sf/japi/swing/bookmarks/BookmarkManager.java 2007-08-12 09:02:36 UTC (rev 571) +++ libs/swing-bookmarks/trunk/src/net/sf/japi/swing/bookmarks/BookmarkManager.java 2007-08-12 11:45:43 UTC (rev 572) @@ -48,6 +48,11 @@ import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; +import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; +import net.sf.japi.swing.IconManager; +import net.sf.japi.util.EmptyEnumeration; +import org.jetbrains.annotations.NotNull; import org.w3c.dom.DOMImplementation; import org.w3c.dom.Document; import org.w3c.dom.Element; @@ -55,10 +60,6 @@ import org.w3c.dom.NodeList; import org.w3c.dom.ls.DOMImplementationLS; import org.xml.sax.SAXException; -import org.jetbrains.annotations.NotNull; -import net.sf.japi.swing.ActionBuilder; -import net.sf.japi.swing.IconManager; -import net.sf.japi.util.EmptyEnumeration; /** Class for managing and displaying Bookmarks. * Usage of this class works the following way: @@ -78,7 +79,7 @@ private BookmarkFolder bookmarks = new BookmarkFolder(); /** Action Builder. */ - private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("net.sf.japi.swing.bookmarks"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.swing.bookmarks"); /** The ProgramFrame this BookmarkManager manages bookmarks for. */ private Bookmarkable bookmarkable; Modified: libs/swing-font/trunk/src/net/sf/japi/swing/font/FontChooser.java =================================================================== --- libs/swing-font/trunk/src/net/sf/japi/swing/font/FontChooser.java 2007-08-12 09:02:36 UTC (rev 571) +++ libs/swing-font/trunk/src/net/sf/japi/swing/font/FontChooser.java 2007-08-12 11:45:43 UTC (rev 572) @@ -47,7 +47,7 @@ import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import net.sf.japi.swing.ActionBuilder; -import static net.sf.japi.swing.ActionBuilder.getActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -62,7 +62,7 @@ public class FontChooser extends JComponent implements ListSelectionListener, ChangeListener { /** Action Builder. */ - private static final ActionBuilder ACTION_BUILDER = getActionBuilder("net.sf.japi.swing.font"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.swing.font"); /** JList for Font Family. * @serial include Modified: libs/swing-font/trunk/src/net/sf/japi/swing/font/FontPreview.java =================================================================== --- libs/swing-font/trunk/src/net/sf/japi/swing/font/FontPreview.java 2007-08-12 09:02:36 UTC (rev 571) +++ libs/swing-font/trunk/src/net/sf/japi/swing/font/FontPreview.java 2007-08-12 11:45:43 UTC (rev 572) @@ -22,7 +22,7 @@ import java.awt.Dimension; import javax.swing.JTextField; import net.sf.japi.swing.ActionBuilder; -import static net.sf.japi.swing.ActionBuilder.getActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; /** Font Preview. * Uses a localized text to display the font, but the user may edit the text to try out the characters she's interested in. @@ -35,7 +35,7 @@ private static final long serialVersionUID = 1L; /** Action Builder. */ - private static final ActionBuilder ACTION_BUILDER = getActionBuilder("net.sf.japi.swing.font"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.swing.font"); /** Default height of the JTextField. */ private static final int DEFAULT_HEIGHT = 64; Modified: libs/swing-font/trunk/src/net/sf/japi/swing/font/FontStyleListCellRenderer.java =================================================================== --- libs/swing-font/trunk/src/net/sf/japi/swing/font/FontStyleListCellRenderer.java 2007-08-12 09:02:36 UTC (rev 571) +++ libs/swing-font/trunk/src/net/sf/japi/swing/font/FontStyleListCellRenderer.java 2007-08-12 11:45:43 UTC (rev 572) @@ -27,6 +27,7 @@ import javax.swing.DefaultListCellRenderer; import javax.swing.JList; import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -40,7 +41,7 @@ private static final long serialVersionUID = 1L; /** Action Builder. */ - private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("net.sf.japi.swing.font"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.swing.font"); /** {@inheritDoc} */ @Override public Component getListCellRendererComponent(@NotNull final JList list, @Nullable final Object value, final int index, final boolean isSelected, final boolean cellHasFocus) { Modified: libs/swing-keyprefs/trunk/src/net/sf/japi/swing/prefs/keys/ActionKeyDisplay.java =================================================================== --- libs/swing-keyprefs/trunk/src/net/sf/japi/swing/prefs/keys/ActionKeyDisplay.java 2007-08-12 09:02:36 UTC (rev 571) +++ libs/swing-keyprefs/trunk/src/net/sf/japi/swing/prefs/keys/ActionKeyDisplay.java 2007-08-12 11:45:43 UTC (rev 572) @@ -19,23 +19,24 @@ package net.sf.japi.swing.prefs.keys; -import java.awt.FlowLayout; import java.awt.Color; +import java.awt.Component; import java.awt.Dimension; -import java.awt.Component; +import java.awt.FlowLayout; import java.awt.event.ActionEvent; import java.awt.event.KeyEvent; -import javax.swing.JComponent; +import javax.swing.AbstractAction; +import javax.swing.Action; import javax.swing.BorderFactory; import javax.swing.ButtonGroup; +import javax.swing.JButton; +import javax.swing.JComponent; import javax.swing.JRadioButton; -import javax.swing.JButton; -import javax.swing.AbstractAction; -import javax.swing.Action; import javax.swing.KeyStroke; import javax.swing.border.LineBorder; +import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; import org.jetbrains.annotations.Nullable; -import net.sf.japi.swing.ActionBuilder; /** A component for displaying the accellerators of an Action. * @author <a href="mailto:ch...@ri...">Christian Hujer</a> @@ -44,7 +45,7 @@ public class ActionKeyDisplay extends JComponent { /** Action Builder. */ - private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("net.sf.japi.swing.prefs.keys"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.swing.prefs.keys"); /** The action of the button that displays the keystroke and allows changing it. */ private final ActionKeyAction actionKeyAction = new ActionKeyAction(this); Modified: libs/swing-keyprefs/trunk/src/net/sf/japi/swing/prefs/keys/KeyStrokePrefs.java =================================================================== --- libs/swing-keyprefs/trunk/src/net/sf/japi/swing/prefs/keys/KeyStrokePrefs.java 2007-08-12 09:02:36 UTC (rev 571) +++ libs/swing-keyprefs/trunk/src/net/sf/japi/swing/prefs/keys/KeyStrokePrefs.java 2007-08-12 11:45:43 UTC (rev 572) @@ -26,6 +26,7 @@ import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; import net.sf.japi.swing.prefs.AbstractPrefs; import net.sf.japi.swing.treetable.JTreeTable; @@ -36,7 +37,7 @@ public class KeyStrokePrefs extends AbstractPrefs implements ListSelectionListener { /** Action Builder. */ - private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("net.sf.japi.swing.prefs.keys"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.swing.prefs.keys"); /** The ActionKeyDisplay. */ private final ActionKeyDisplay actionKeyDisplay; @@ -69,7 +70,7 @@ private static ActionBuilder[] getBuildersForNames(final String[] builderNames) { final ActionBuilder[] builders = new ActionBuilder[builderNames.length]; for (int i = 0; i < builderNames.length; i++) { - builders[i] = ActionBuilder.getActionBuilder(builderNames[i]); + builders[i] = ActionBuilderFactory.getInstance().getActionBuilder(builderNames[i]); } return builders; } Modified: libs/swing-keyprefs/trunk/src/net/sf/japi/swing/prefs/keys/KeyStrokeTreeTableModel.java =================================================================== --- libs/swing-keyprefs/trunk/src/net/sf/japi/swing/prefs/keys/KeyStrokeTreeTableModel.java 2007-08-12 09:02:36 UTC (rev 571) +++ libs/swing-keyprefs/trunk/src/net/sf/japi/swing/prefs/keys/KeyStrokeTreeTableModel.java 2007-08-12 11:45:43 UTC (rev 572) @@ -21,6 +21,7 @@ import java.util.List; import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; import net.sf.japi.swing.treetable.AbstractTreeTableModel; import net.sf.japi.swing.treetable.TreeTableModel; @@ -31,7 +32,7 @@ public class KeyStrokeTreeTableModel extends AbstractTreeTableModel<KeyStrokeRootNode, AbstractSimpleNode<AbstractSimpleNode>> { /** Action Builder. */ - private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("net.sf.japi.swing.prefs.keys"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.swing.prefs.keys"); /** Column names. */ private static final String[] COLUMN_NAMES = { Modified: libs/swing-list/trunk/src/net/sf/japi/swing/list/ListControlPanel.java =================================================================== --- libs/swing-list/trunk/src/net/sf/japi/swing/list/ListControlPanel.java 2007-08-12 09:02:36 UTC (rev 571) +++ libs/swing-list/trunk/src/net/sf/japi/swing/list/ListControlPanel.java 2007-08-12 11:45:43 UTC (rev 572) @@ -27,6 +27,7 @@ import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; import net.sf.japi.swing.ActionMethod; import org.jetbrains.annotations.NotNull; @@ -37,7 +38,7 @@ public class ListControlPanel extends JComponent implements ListSelectionListener { /** The ActionBuilder for creating the actions. */ - @NotNull private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("net.sf.japi.swing.list"); + @NotNull private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.swing.list"); /** Action for moving to top. * @serial include Modified: libs/swing-misc/trunk/src/net/sf/japi/swing/misc/JFileChooserButton.java =================================================================== --- libs/swing-misc/trunk/src/net/sf/japi/swing/misc/JFileChooserButton.java 2007-08-12 09:02:36 UTC (rev 571) +++ libs/swing-misc/trunk/src/net/sf/japi/swing/misc/JFileChooserButton.java 2007-08-12 11:45:43 UTC (rev 572) @@ -26,6 +26,7 @@ import javax.swing.JFileChooser; import javax.swing.JTextField; import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; import net.sf.japi.swing.ActionMethod; /** JButton for choosing a file from hd. @@ -34,7 +35,7 @@ public class JFileChooserButton extends JButton { /** Action Builder. */ - private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("net.sf.japi.swing"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.swing"); /** The JTextField to read/write the file path to. * @serial include Modified: libs/swing-misc/trunk/src/net/sf/japi/swing/misc/JSAXErrorHandler.java =================================================================== --- libs/swing-misc/trunk/src/net/sf/japi/swing/misc/JSAXErrorHandler.java 2007-08-12 09:02:36 UTC (rev 571) +++ libs/swing-misc/trunk/src/net/sf/japi/swing/misc/JSAXErrorHandler.java 2007-08-12 11:45:43 UTC (rev 572) @@ -19,16 +19,17 @@ package net.sf.japi.swing.misc; -import org.xml.sax.ErrorHandler; -import org.xml.sax.SAXParseException; -import org.xml.sax.SAXException; +import java.awt.Component; +import javax.swing.JButton; +import javax.swing.JDialog; import javax.swing.JOptionPane; +import javax.swing.JScrollPane; import javax.swing.JTextArea; -import javax.swing.JDialog; -import javax.swing.JButton; -import javax.swing.JScrollPane; -import java.awt.Component; import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; +import org.xml.sax.ErrorHandler; +import org.xml.sax.SAXException; +import org.xml.sax.SAXParseException; /** Implementation of {@link ErrorHandler} for displaying XML parser errors on the screen. * @warning DO NOT RELY ON THE INHERITANCE! @@ -37,7 +38,7 @@ public final class JSAXErrorHandler extends JOptionPane implements ErrorHandler { /** Action Builder. */ - private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("net.sf.japi.swing"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.swing"); /** The JTextArea which displays the errors. * @serial include Modified: libs/swing-prefs/trunk/src/net/sf/japi/swing/prefs/PreferencesPane.java =================================================================== --- libs/swing-prefs/trunk/src/net/sf/japi/swing/prefs/PreferencesPane.java 2007-08-12 09:02:36 UTC (rev 571) +++ libs/swing-prefs/trunk/src/net/sf/japi/swing/prefs/PreferencesPane.java 2007-08-12 11:45:43 UTC (rev 572) @@ -40,6 +40,7 @@ import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; import net.sf.japi.swing.ActionMethod; /** Panel to display preferences. @@ -50,7 +51,7 @@ public final class PreferencesPane extends JOptionPane implements ListSelectionListener { /** Action Builder. */ - private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("net.sf.japi.swing.prefs"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.swing.prefs"); /** Width of the horizontal struts between button groups. */ private static final int HORIZONTAL_STRUTS_WIDTH = 50; Modified: libs/swing-tod/trunk/src/net/sf/japi/swing/tod/TipOfTheDayManager.java =================================================================== --- libs/swing-tod/trunk/src/net/sf/japi/swing/tod/TipOfTheDayManager.java 2007-08-12 09:02:36 UTC (rev 571) +++ libs/swing-tod/trunk/src/net/sf/japi/swing/tod/TipOfTheDayManager.java 2007-08-12 11:45:43 UTC (rev 572) @@ -20,9 +20,9 @@ package net.sf.japi.swing.tod; import java.awt.Component; +import java.awt.Dialog; import java.awt.Dimension; import java.awt.Font; -import java.awt.Dialog; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; @@ -50,6 +50,7 @@ import static javax.swing.SwingConstants.TRAILING; import net.sf.japi.swing.ActionBuilder; import static net.sf.japi.swing.ActionBuilder.ACCELERATOR_KEY_2; +import net.sf.japi.swing.ActionBuilderFactory; import net.sf.japi.swing.ActionMethod; import static net.sf.japi.swing.IconManager.getDefaultIconManager; import org.jetbrains.annotations.NotNull; @@ -83,7 +84,7 @@ public final class TipOfTheDayManager extends JOptionPane { /** Action Builder. */ - @NotNull private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("net.sf.japi.swing.tod"); + @NotNull private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.swing.tod"); /** Random number generator for random tods. */ @NotNull private static final Random RND = new Random(); Modified: progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/jtest/gui/ProgramFrame.java =================================================================== --- progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/jtest/gui/ProgramFrame.java 2007-08-12 09:02:36 UTC (rev 571) +++ progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/jtest/gui/ProgramFrame.java 2007-08-12 11:45:43 UTC (rev 572) @@ -45,18 +45,19 @@ import javax.swing.JToolBar; import net.sf.japi.progs.jeduca.jtest.Program; import net.sf.japi.progs.jeduca.jtest.Settings; -import net.sf.japi.progs.jeduca.swing.settings.SettingsModule; -import net.sf.japi.progs.jeduca.swing.settings.SettingsPane; -import net.sf.japi.progs.jeduca.swing.io.ImporterFileFilter; +import net.sf.japi.progs.jeduca.swing.ISwingUtilities; +import net.sf.japi.progs.jeduca.swing.InternalFrameManager; import net.sf.japi.progs.jeduca.swing.MenuManager; +import net.sf.japi.progs.jeduca.swing.OpenURLPane; import net.sf.japi.progs.jeduca.swing.ToolBarManager; -import net.sf.japi.progs.jeduca.swing.InternalFrameManager; -import net.sf.japi.progs.jeduca.swing.OpenURLPane; -import net.sf.japi.progs.jeduca.swing.ISwingUtilities; +import net.sf.japi.progs.jeduca.swing.io.ImporterFileFilter; import net.sf.japi.progs.jeduca.swing.recent.RecentURLsMenu; +import net.sf.japi.progs.jeduca.swing.settings.SettingsModule; +import net.sf.japi.progs.jeduca.swing.settings.SettingsPane; import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; +import net.sf.japi.swing.LookAndFeelManager; import net.sf.japi.swing.ToolBarLayout; -import net.sf.japi.swing.LookAndFeelManager; import net.sf.japi.swing.bookmarks.BookmarkManager; import net.sf.japi.swing.bookmarks.Bookmarkable; import org.jetbrains.annotations.NotNull; @@ -83,7 +84,7 @@ private transient BookmarkManager bookmarkManager = new BookmarkManager(this); /** Action Builder. */ - private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("net.sf.japi.progs.jeduca.jtest.gui"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.progs.jeduca.jtest.gui"); /** The JFileChooser for loading and saving files. * @serial include Modified: progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/jtest/gui/QuestionCollectionGUI.java =================================================================== --- progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/jtest/gui/QuestionCollectionGUI.java 2007-08-12 09:02:36 UTC (rev 571) +++ progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/jtest/gui/QuestionCollectionGUI.java 2007-08-12 11:45:43 UTC (rev 572) @@ -36,6 +36,7 @@ import net.sf.japi.progs.jeduca.jtest.Settings; import net.sf.japi.progs.jeduca.swing.ISwingUtilities; import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; /** User Interface for a Collection of Questions. * @author $Author: chris $ @@ -62,7 +63,7 @@ private static final String REVIEW = "Review"; /** Action Builder. */ - private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("net.sf.japi.progs.jeduca.jtest.gui"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.progs.jeduca.jtest.gui"); /** Index of the currently displayed question. * The value of index is <code>questionCol.getSize() $gt; index $gt;= 0</code> or <code>-1</code> if <code>questionCol == null</code> or the Modified: progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/swing/AbstractManager.java =================================================================== --- progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/swing/AbstractManager.java 2007-08-12 09:02:36 UTC (rev 571) +++ progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/swing/AbstractManager.java 2007-08-12 11:45:43 UTC (rev 572) @@ -31,16 +31,17 @@ import javax.swing.AbstractAction; import javax.swing.AbstractButton; import javax.swing.Action; +import javax.swing.ActionMap; import javax.swing.Icon; import javax.swing.JCheckBox; import javax.swing.JCheckBoxMenuItem; import javax.swing.JComponent; +import javax.swing.JInternalFrame; import javax.swing.JMenu; import javax.swing.JMenuItem; -import javax.swing.ActionMap; import javax.swing.JToolBar; -import javax.swing.JInternalFrame; import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; /** Base class for Manager classes that manage visibility of components and provide corresponding menus. * <p /> @@ -82,7 +83,7 @@ protected List<JMenu> cMenus = new ArrayList<JMenu>(); /** Action Builder. */ - private static final ActionBuilder ACTION_BUILDER = ActionBuilder.getActionBuilder("net.sf.japi.progs.jeduca.swing"); + private static final ActionBuilder ACTION_BUILDER = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.progs.jeduca.swing"); /** View Show All action. * @see #viewShowAll() Modified: progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/swing/InternalFrameManager.java =================================================================== --- progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/swing/InternalFrameManager.java 2007-08-12 09:02:36 UTC (rev 571) +++ progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/swing/InternalFrameManager.java 2007-08-12 11:45:43 UTC (rev 572) @@ -22,7 +22,7 @@ import javax.swing.Action; import javax.swing.JInternalFrame; -import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; /** Class for managing internal Frames. * It provides a list of internal frames which can be hidden and shown along with a factory for creating a menu to show and hide these internal frames. @@ -46,10 +46,10 @@ } /** InternalFrames action. */ - private Action internalFrames = ActionBuilder.getActionBuilder("net.sf.japi.progs.jeduca.swing").createAction(true, "internalFrames"); + private Action internalFrames = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.progs.jeduca.swing").createAction(true, "internalFrames"); /** InternalFrames configuration action. */ - private Action configureInternalFrames = ActionBuilder.getActionBuilder("net.sf.japi.progs.jeduca.swing").createAction(true, "configureInternalFrames", this); + private Action configureInternalFrames = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.progs.jeduca.swing").createAction(true, "configureInternalFrames", this); /** InternalFrames configuration action. */ public void configureInternalFrames() { /* TODO */ } Modified: progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/swing/MenuManager.java =================================================================== --- progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/swing/MenuManager.java 2007-08-12 09:02:36 UTC (rev 571) +++ progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/swing/MenuManager.java 2007-08-12 11:45:43 UTC (rev 572) @@ -21,9 +21,9 @@ package net.sf.japi.progs.jeduca.swing; import javax.swing.Action; +import static javax.swing.Action.NAME; import javax.swing.JMenu; -import static javax.swing.Action.NAME; -import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; /** Class for managing menus. * It provides a list of menus which can be hidden and shown along with a factory for creating a menu to show and hide these menus. @@ -47,10 +47,10 @@ //} /** Menus action. */ - private Action menus = ActionBuilder.getActionBuilder("net.sf.japi.progs.jeduca.swing").createAction(true, "menus"); + private Action menus = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.progs.jeduca.swing").createAction(true, "menus"); /** Menus configuration action. */ - private Action configureMenus = ActionBuilder.getActionBuilder("net.sf.japi.progs.jeduca.swing").createAction(true, "configureMenus", this); + private Action configureMenus = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.progs.jeduca.swing").createAction(true, "configureMenus", this); /** Menus configuration action. */ public void configureMenus() { /* TODO */ } Modified: progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/swing/OpenURLPane.java =================================================================== --- progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/swing/OpenURLPane.java 2007-08-12 09:02:36 UTC (rev 571) +++ progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/swing/OpenURLPane.java 2007-08-12 11:45:43 UTC (rev 572) @@ -43,7 +43,7 @@ import javax.swing.JSeparator; import javax.swing.JTextField; import javax.swing.border.EmptyBorder; -import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; /** Class for displaying a Dialog which requests that the user enters a URL or opens a File selection box. * It works quite like {@link JFileChooser}, even a bit simpler. @@ -111,22 +111,22 @@ /** Action for ok button. * @serial include */ - private Action ok = ActionBuilder.getActionBuilder("net.sf.japi.progs.jeduca.swing").createAction(true, "ok", this); + private Action ok = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.progs.jeduca.swing").createAction(true, "ok", this); /** Action for cancel button. * @serial include */ - private Action cancel = ActionBuilder.getActionBuilder("net.sf.japi.progs.jeduca.swing").createAction(true, "cancel", this); + private Action cancel = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.progs.jeduca.swing").createAction(true, "cancel", this); /** Action for delete button. * @serial include */ - private Action delete = ActionBuilder.getActionBuilder("net.sf.japi.progs.jeduca.swing").createAction(true, "delete", this); + private Action delete = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.progs.jeduca.swing").createAction(true, "delete", this); /** Action for selectFile button. * @serial include */ - private Action selectFile = ActionBuilder.getActionBuilder("net.sf.japi.progs.jeduca.swing").createAction(true, "selectFile", this); + private Action selectFile = ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.progs.jeduca.swing").createAction(true, "selectFile", this); /** TextField with user input. * @serial include @@ -168,10 +168,10 @@ pane.fileChooser = fileChooser; final Window w = getWindowForComponent(parent); if (w instanceof Dialog) { - pane.dialog = new JDialog((Dialog)w, ActionBuilder.getActionBuilder("net.sf.japi.progs.jeduca.swing").getString("openURL"), true); + pane.dialog = new JDialog((Dialog)w, ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.progs.jeduca.swing").getString("openURL"), true); } else { assert w instanceof Frame; - pane.dialog = new JDialog((Frame)w, ActionBuilder.getActionBuilder("net.sf.japi.progs.jeduca.swing").getString("openURL"), true); + pane.dialog = new JDialog((Frame)w, ActionBuilderFactory.getInstance().getActionBuilder("net.sf.japi.progs.jeduca.swing").getString("openURL"), true); } pane.dialog.add(pane); pane.dialog.pack(); Modified: progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/swing/ToolBarManager.java =================================================================== --- progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/swing/ToolBarManager.java 2007-08-12 09:02:36 UTC (rev 571) +++ progs/jeduca/trunk/src/net/sf/japi/progs/jeduca/swing/ToolBarManager.java 2007-08-12 11:45:43 UTC (rev 572) @@ -27,6 +27,7 @@ import javax.swing.JPopupMenu; import javax.swing.JToolBar; import net.sf.japi.swing.ActionBuilder; +import net.sf.japi.swing.ActionBuilderFactory; import net.sf.japi.swing.To... [truncated message content] |