org.opensourcephysics.tools
Class TranslatorTool

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by org.opensourcephysics.tools.TranslatorTool
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.rmi.Remote, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, Hidable, Tool, Translator

public class TranslatorTool
extends javax.swing.JFrame
implements Tool, Hidable, Translator

This provides a GUI for creating and editing string resources associated with a class. Resources are stored in properties files with the same name and located in the same folder as the class.

Version:
1.0
Author:
Douglas Brown
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Method Summary
 void addProperty(java.lang.Class<?> type, java.lang.String key, java.lang.String defaultValue)
          Adds a property to those defined for the specified class.
 void associate(java.lang.Object obj, java.lang.Class<?> type)
          Associates an object with a class for property lookup purposes.
 void dispose()
          Disposes all resources.
 java.util.Collection<java.lang.Object> getAssociates(java.lang.Class<?> type)
          Gets objects associated with the specified class.
 java.lang.String getProperty(java.lang.Class<?> type, java.lang.String key)
          Gets the localized value of a property for the specified class.
 java.lang.String getProperty(java.lang.Class<?> type, java.lang.String key, java.lang.String defaultValue)
          Gets the localized value of a property for the specified class.
 java.lang.String getProperty(java.lang.Object obj, java.lang.String key)
          Gets the localized value of a property for the specified object.
 java.lang.String getProperty(java.lang.Object obj, java.lang.String key, java.lang.String defaultValue)
          Gets the localized value of a property for the specified object.
static TranslatorTool getTool()
          Gets the shared TranslatorTool.
 java.util.Locale[] getTranslatedLocales(java.lang.Class<?> type)
          Returns Locales for which translations exist for the specified class.
 boolean isKeepHidden()
          Reads the keepHidden flag.
protected  boolean isLanguage(java.lang.String lang)
          Returns true if a String is a valid 2-letter language code.
protected  void refreshAssociates(java.lang.Class<?> type)
          Refreshes objects associated with the specified class.
protected  void refreshGUI()
          Refreshes the GUI.
 void removeProperty(java.lang.Class<?> type, java.lang.String key)
          Removes a property from those defined for the specified class.
 void removeProperty(java.lang.Object obj, java.lang.String key)
          Removes a property from those defined for the specified object.
 void send(Job job, Tool replyTo)
          Sends a job to this tool and specifies a tool to reply to.
 void setKeepHidden(boolean _keepHidden)
          Sets the keepHidden flag.
 void setLocale(java.util.Locale locale)
          Sets the locale.
 void setVisible(boolean b)
          Shows or hides this component depending on the value of parameter b and the keepHidden flag.
 void show()
          Deprecated.  
 void showProperties(java.lang.Class<?> type)
          Shows the properties for the specified class.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Method Detail

getTool

public static TranslatorTool getTool()
Gets the shared TranslatorTool.

Returns:
the shared TranslatorTool

show

public void show()
Deprecated. 

Shows the frame on the screen if the keep hidden flag is false.

Overrides:
show in class java.awt.Window

dispose

public void dispose()
Disposes all resources.

Overrides:
dispose in class java.awt.Window

setVisible

public void setVisible(boolean b)
Shows or hides this component depending on the value of parameter b and the keepHidden flag. OSP Applets often keep windows hidden.

Specified by:
setVisible in interface Translator
Overrides:
setVisible in class java.awt.Window
Parameters:
b -

setKeepHidden

public void setKeepHidden(boolean _keepHidden)
Sets the keepHidden flag.

Specified by:
setKeepHidden in interface Hidable
Parameters:
_keepHidden -

isKeepHidden

public boolean isKeepHidden()
Reads the keepHidden flag.

Specified by:
isKeepHidden in interface Hidable

send

public void send(Job job,
                 Tool replyTo)
Sends a job to this tool and specifies a tool to reply to.

Specified by:
send in interface Tool
Parameters:
job - the Job
replyTo - the tool to notify when the job is complete (may be null)

setLocale

public void setLocale(java.util.Locale locale)
Sets the locale.

Overrides:
setLocale in class java.awt.Component
Parameters:
locale - the locale

associate

public void associate(java.lang.Object obj,
                      java.lang.Class<?> type)
Associates an object with a class for property lookup purposes.

Specified by:
associate in interface Translator
Parameters:
obj - the object needing translations
type - the class

showProperties

public void showProperties(java.lang.Class<?> type)
Shows the properties for the specified class.

Specified by:
showProperties in interface Translator
Parameters:
type - the class

getProperty

public java.lang.String getProperty(java.lang.Class<?> type,
                                    java.lang.String key)
Gets the localized value of a property for the specified class. If no localized value is found, the key is returned.

Specified by:
getProperty in interface Translator
Parameters:
type - the class requesting the localized value
key - the string to localize
Returns:
the localized string

getProperty

public java.lang.String getProperty(java.lang.Class<?> type,
                                    java.lang.String key,
                                    java.lang.String defaultValue)
Gets the localized value of a property for the specified class. If no localized value is found, the defaultValue is returned.

Specified by:
getProperty in interface Translator
Parameters:
type - the class requesting the localized value
key - the string to localize
defaultValue - the default if no localized value found
Returns:
the localized string

getProperty

public java.lang.String getProperty(java.lang.Object obj,
                                    java.lang.String key)
Gets the localized value of a property for the specified object. The object must first be associated with a class. If no localized value is found, the key is returned.

Specified by:
getProperty in interface Translator
Parameters:
obj - the object requesting the localized value
key - the string to localize
Returns:
the localized string

getProperty

public java.lang.String getProperty(java.lang.Object obj,
                                    java.lang.String key,
                                    java.lang.String defaultValue)
Gets the localized value of a property for the specified object. The object must first be associated with a class. If no localized value is found, the defaultValue is returned.

Specified by:
getProperty in interface Translator
Parameters:
obj - the object requesting the localized value
key - the string to localize
defaultValue - the default if no localized value found
Returns:
the localized string

removeProperty

public void removeProperty(java.lang.Class<?> type,
                           java.lang.String key)
Removes a property from those defined for the specified class.

Parameters:
type - the class
key - the property to remove

removeProperty

public void removeProperty(java.lang.Object obj,
                           java.lang.String key)
Removes a property from those defined for the specified object. The object must first be associated with a class.

Parameters:
obj - the object
key - the property to remove

addProperty

public void addProperty(java.lang.Class<?> type,
                        java.lang.String key,
                        java.lang.String defaultValue)
Adds a property to those defined for the specified class.

Parameters:
type - the class
key - the property to add
defaultValue - the default value

getAssociates

public java.util.Collection<java.lang.Object> getAssociates(java.lang.Class<?> type)
Gets objects associated with the specified class.


getTranslatedLocales

public java.util.Locale[] getTranslatedLocales(java.lang.Class<?> type)
Returns Locales for which translations exist for the specified class.


isLanguage

protected boolean isLanguage(java.lang.String lang)
Returns true if a String is a valid 2-letter language code.

Parameters:
lang - the 2-letter code
Returns:
true if valid 2-letter language code

refreshGUI

protected void refreshGUI()
Refreshes the GUI.


refreshAssociates

protected void refreshAssociates(java.lang.Class<?> type)
Refreshes objects associated with the specified class.