Class EncodingComboBoxModel
- java.lang.Object
-
- org.jfree.report.modules.gui.swing.common.EncodingComboBoxModel
-
- All Implemented Interfaces:
javax.swing.ComboBoxModel
,javax.swing.ListModel
public class EncodingComboBoxModel extends java.lang.Object implements javax.swing.ComboBoxModel
A model for the 'encoding' combo box. This combobox model presents a selection for all available string encodings.- Author:
- Thomas Morgner.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
AVAILABLE_ENCODINGS
The property that defines which encodings are available in the export dialogs.static java.lang.String
AVAILABLE_ENCODINGS_ALL
The encodings available properties value for all properties.static java.lang.String
AVAILABLE_ENCODINGS_FILE
The encodings available properties value for properties defined in the properties file.static java.lang.String
AVAILABLE_ENCODINGS_NONE
The encodings available properties value for no properties defined.static java.lang.String
BUNDLE_NAME
static java.lang.String
ENCODINGS_DEFINITION_FILE
The name of the properties file used to define the available encodings.static java.lang.String
ENCODINGS_DEFINITION_FILE_DEFAULT
The default name for the encoding properties file.
-
Constructor Summary
Constructors Constructor Description EncodingComboBoxModel(java.util.Locale locale)
Creates a new model.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
addEncoding(java.lang.String name, java.lang.String description)
Adds an encoding.void
addEncodingUnchecked(java.lang.String name, java.lang.String description)
Adds an encoding to the model without checking its validity.void
addListDataListener(javax.swing.event.ListDataListener l)
Adds a listener to the list that's notified each time a change to the data model occurs.static EncodingComboBoxModel
createDefaultModel(java.util.Locale locale)
Creates a default model containing a selection of encodings.void
ensureEncodingAvailable(java.lang.String encoding)
Make sure, that this encoding is defined and selectable in the combobox model.protected void
fireContentsChanged()
Notifies all registered listeners that the content of the model has changed.protected void
fireContentsChanged(int start, int length)
Notifies all registered listeners that the content of the model has changed.static java.lang.String
getAvailableEncodings()
Defines the loader settings for the available encodings shown to the user.java.lang.String
getDescription(int index)
Returns a description.java.lang.Object
getElementAt(int index)
Returns the value at the specified index.java.lang.String
getEncoding(int index)
Returns an encoding.protected java.lang.String
getEncodingDescription(java.lang.String encoding)
static java.lang.String
getEncodingsDefinitionFile()
Defines the loader settings for the available encodings shown to the user.java.lang.String
getSelectedEncoding()
Returns the selected encoding.int
getSelectedIndex()
Returns the selected index.java.lang.Object
getSelectedItem()
Returns the selected item.int
getSize()
Returns the length of the list.int
indexOf(java.lang.String encoding)
Returns the index of an encoding.void
removeEncoding(java.lang.String name)
void
removeListDataListener(javax.swing.event.ListDataListener l)
Removes a listener from the list that's notified each time a change to the data model occurs.void
setSelectedEncoding(java.lang.String encoding)
void
setSelectedIndex(int index)
Defines the selected index for this encoding model.void
setSelectedItem(java.lang.Object anItem)
Set the selected item.void
sort()
Sorts the encodings.
-
-
-
Field Detail
-
AVAILABLE_ENCODINGS
public static final java.lang.String AVAILABLE_ENCODINGS
The property that defines which encodings are available in the export dialogs.- See Also:
- Constant Field Values
-
AVAILABLE_ENCODINGS_ALL
public static final java.lang.String AVAILABLE_ENCODINGS_ALL
The encodings available properties value for all properties.- See Also:
- Constant Field Values
-
AVAILABLE_ENCODINGS_FILE
public static final java.lang.String AVAILABLE_ENCODINGS_FILE
The encodings available properties value for properties defined in the properties file.- See Also:
- Constant Field Values
-
AVAILABLE_ENCODINGS_NONE
public static final java.lang.String AVAILABLE_ENCODINGS_NONE
The encodings available properties value for no properties defined. The encoding selection will be disabled.- See Also:
- Constant Field Values
-
ENCODINGS_DEFINITION_FILE
public static final java.lang.String ENCODINGS_DEFINITION_FILE
The name of the properties file used to define the available encodings. The property points to a resources in the classpath, not to a real file!- See Also:
- Constant Field Values
-
ENCODINGS_DEFINITION_FILE_DEFAULT
public static final java.lang.String ENCODINGS_DEFINITION_FILE_DEFAULT
The default name for the encoding properties file. This property defaults to "/org/jfree/report/jfreereport-encodings.properties".- See Also:
- Constant Field Values
-
BUNDLE_NAME
public static final java.lang.String BUNDLE_NAME
- See Also:
- Constant Field Values
-
-
Method Detail
-
addEncoding
public boolean addEncoding(java.lang.String name, java.lang.String description)
Adds an encoding.- Parameters:
name
- the name.description
- the description.- Returns:
true
if the encoding is valid and added to the model,false
otherwise.
-
addEncodingUnchecked
public void addEncodingUnchecked(java.lang.String name, java.lang.String description)
Adds an encoding to the model without checking its validity.- Parameters:
name
- the name.description
- the description.
-
removeEncoding
public void removeEncoding(java.lang.String name)
-
ensureEncodingAvailable
public void ensureEncodingAvailable(java.lang.String encoding)
Make sure, that this encoding is defined and selectable in the combobox model.- Parameters:
encoding
- the encoding that should be verified.
-
getEncodingDescription
protected java.lang.String getEncodingDescription(java.lang.String encoding)
-
sort
public void sort()
Sorts the encodings. Keep the selected object ...
-
fireContentsChanged
protected void fireContentsChanged()
Notifies all registered listeners that the content of the model has changed.
-
fireContentsChanged
protected void fireContentsChanged(int start, int length)
Notifies all registered listeners that the content of the model has changed.
-
setSelectedItem
public void setSelectedItem(java.lang.Object anItem)
Set the selected item. The implementation of this method should notify all registeredListDataListener
s that the contents have changed.- Specified by:
setSelectedItem
in interfacejavax.swing.ComboBoxModel
- Parameters:
anItem
- the list object to select ornull
to clear the selection
-
getSelectedIndex
public int getSelectedIndex()
Returns the selected index.- Returns:
- The index.
-
setSelectedIndex
public void setSelectedIndex(int index)
Defines the selected index for this encoding model.- Parameters:
index
- the selected index or -1 to clear the selection.- Throws:
java.lang.IllegalArgumentException
- if the given index is invalid.
-
getSelectedEncoding
public java.lang.String getSelectedEncoding()
Returns the selected encoding.- Returns:
- The encoding (name).
-
getSelectedItem
public java.lang.Object getSelectedItem()
Returns the selected item.- Specified by:
getSelectedItem
in interfacejavax.swing.ComboBoxModel
- Returns:
- The selected item or
null
if there is no selection
-
getSize
public int getSize()
Returns the length of the list.- Specified by:
getSize
in interfacejavax.swing.ListModel
- Returns:
- the length of the list
-
getElementAt
public java.lang.Object getElementAt(int index)
Returns the value at the specified index.- Specified by:
getElementAt
in interfacejavax.swing.ListModel
- Parameters:
index
- the requested index- Returns:
- the value at
index
-
addListDataListener
public void addListDataListener(javax.swing.event.ListDataListener l)
Adds a listener to the list that's notified each time a change to the data model occurs.- Specified by:
addListDataListener
in interfacejavax.swing.ListModel
- Parameters:
l
- theListDataListener
to be added
-
removeListDataListener
public void removeListDataListener(javax.swing.event.ListDataListener l)
Removes a listener from the list that's notified each time a change to the data model occurs.- Specified by:
removeListDataListener
in interfacejavax.swing.ListModel
- Parameters:
l
- theListDataListener
to be removed
-
createDefaultModel
public static EncodingComboBoxModel createDefaultModel(java.util.Locale locale)
Creates a default model containing a selection of encodings.- Returns:
- The default model.
-
indexOf
public int indexOf(java.lang.String encoding)
Returns the index of an encoding.- Parameters:
encoding
- the encoding (name).- Returns:
- The index.
-
getEncoding
public java.lang.String getEncoding(int index)
Returns an encoding.- Parameters:
index
- the index.- Returns:
- The index.
-
getDescription
public java.lang.String getDescription(int index)
Returns a description.- Parameters:
index
- the index.- Returns:
- The description.
-
getEncodingsDefinitionFile
public static java.lang.String getEncodingsDefinitionFile()
Defines the loader settings for the available encodings shown to the user. The property defaults to AVAILABLE_ENCODINGS_ALL.- Returns:
- either AVAILABLE_ENCODINGS_ALL, AVAILABLE_ENCODINGS_FILE or AVAILABLE_ENCODINGS_NONE.
-
getAvailableEncodings
public static java.lang.String getAvailableEncodings()
Defines the loader settings for the available encodings shown to the user. The property defaults to AVAILABLE_ENCODINGS_ALL.- Returns:
- either AVAILABLE_ENCODINGS_ALL, AVAILABLE_ENCODINGS_FILE or AVAILABLE_ENCODINGS_NONE.
-
setSelectedEncoding
public void setSelectedEncoding(java.lang.String encoding)
-
-