|
Oracle Fusion Middleware Java API Reference for Oracle ADF Model 11g Release 1 (11.1.1) E10653-03 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object
java.util.AbstractMap
oracle.jbo.common.JboAbstractMap
oracle.adf.model.binding.DCControlBinding
oracle.jbo.uicli.binding.JUControlBinding
oracle.jbo.uicli.binding.JUCtrlValueBinding
oracle.jbo.uicli.binding.JUCtrlAttrsBinding
oracle.jbo.uicli.binding.JUCtrlListBinding
oracle.jbo.uicli.jui.JUComboBoxCtrlBinding
public class JUComboBoxCtrlBinding
Implements binding a Swing JComboBox or JUComboBox to a BC4J Attribute or ViewObject or as an LOV (list of values).
A combobox can be bound in the following ways:
This class also implements ActionListener interface and listens to ActionEvents from the bound combobox. On an action event, it either performs an update of the target ViewObject attributes, or iterates a target ViewObject as per the list operation mode set in the constructor.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class java.util.AbstractMap |
---|
java.util.AbstractMap.SimpleEntry<K,V>, java.util.AbstractMap.SimpleImmutableEntry<K,V> |
Nested classes/interfaces inherited from interface java.util.Map |
---|
java.util.Map.Entry<K,V> |
Field Summary | |
---|---|
protected javax.swing.ListCellRenderer |
mCellRenderer |
protected javax.swing.MutableComboBoxModel |
mComboModel |
protected javax.swing.ComboBoxEditor |
mEditor |
protected boolean |
mSettingValue |
Fields inherited from class oracle.jbo.uicli.binding.JUCtrlValueBinding |
---|
ATTR_ATTRIBUTE, ATTR_ATTRIBUTE_DEF, ATTR_ATTRIBUTE_DEFS, ATTR_ATTRIBUTE_VALUE, ATTR_ATTRIBUTE_VALUES, ATTR_ATTRIBUTES, ATTR_AUTOSUBMIT, ATTR_DISPLAY_HEIGHT, ATTR_DISPLAY_HINT, ATTR_DISPLAY_WIDTH, ATTR_FORMAT, ATTR_FORMATS, ATTR_HINTS, ATTR_INPUT_VALUE, ATTR_LABEL, ATTR_LABELS, ATTR_LABELSET, ATTR_MANDATORY, ATTR_PATH, ATTR_TOOLTIP, ATTR_UPDATEABLE, ATTR_VIEWABLE, DATACHANGE_EVENT_POLICY, GET_ALLOWS, mAttrs, mHasInputVal, mInputVal, SEP_LIST_DISPLAY |
Fields inherited from class oracle.adf.model.binding.DCControlBinding |
---|
ATTR_CURRENTROW, ATTR_DEF, ATTR_ERROR, ATTR_ERRORS, ATTR_FULLNAME, ATTR_ITER, ATTR_NAME, DC_BINDING_ERROR, mAttributeListener, mInternalGet_KeyResolved, mPermission, mPermissionInfo, ROW_KEY_STR |
Fields inherited from class oracle.jbo.common.JboAbstractMap |
---|
MAP_NULL_VALUE |
Constructor Summary | |
---|---|
protected |
JUComboBoxCtrlBinding(java.lang.Object cb, DCIteratorBinding iterBinding, java.lang.String[] attrNames, java.lang.String lbName) *** For internal framework use only *** |
|
JUComboBoxCtrlBinding(java.lang.Object cb, JUIteratorBinding iterBinding, java.lang.String[] attrNames, int listOperMode) Binds a ComboBox to a RowSet associated with the given iterator binding and based on listOperMode setting, either iterates the currency on the target iterator or updates the attribute value for the given attribute (in attrNames) in the current row in the target RowSet. |
|
JUComboBoxCtrlBinding(java.lang.Object cb, JUIteratorBinding iterBinding, java.lang.String[] attrNames, JUIteratorBinding listIterBinding, java.lang.String[] listAttrNames, java.lang.String[] listDisplayAttrNames) Binds separate ViewObject/RowSets for display and update to the same ComboBox. |
|
JUComboBoxCtrlBinding(java.lang.Object cb, JUIteratorBinding iterBinding, java.lang.String[] attrNames, java.lang.Object[] valueList) Binds a combobox to an attribute in the associated RowSet. |
Method Summary | |
---|---|
void |
actionPerformed(java.awt.event.ActionEvent e) Based on listOperMode, this binding either navigates the target rowset to the selected row or sets the attribute/attributes as based on the settings in the constructor. |
void |
addControlToPanel(java.lang.Object panel, java.lang.Object layoutObject, java.lang.Object layoutCons) *** For internal framework use only *** |
void |
addElement(java.lang.Object obj) |
void |
addListDataListener(javax.swing.event.ListDataListener l) |
static javax.swing.MutableComboBoxModel |
createEnumerationBinding(JUFormBinding formBinding, java.lang.Object control, java.lang.String voInstanceName, java.lang.String voIterName, java.lang.String voIterBindingName, java.lang.String attrName, java.lang.Object[] values) Use this method to bind a combobox control to a ViewObject/RowSet identified by voInstanceName when a static list of values are displayed in the combobox, and the combobox is used to display/update the same attribute in the same viewobject. |
static javax.swing.MutableComboBoxModel |
createLovBinding(JUFormBinding formBinding, java.lang.Object control, java.lang.String voInstanceName, java.lang.String voIterName, java.lang.String voIterBindingName, java.lang.String[] voAttrNames, java.lang.String lovVOInstanceName, java.lang.String[] lovVOAttrNames, java.lang.String[] lovVODisplayedAttrNames, javax.swing.ListCellRenderer cellRenderer, javax.swing.ComboBoxEditor editor) Use this binding when two ViewObjects are to be used in this combobox: one for displaying the list of values and the other ViewObject the rows of which are updated. |
static javax.swing.MutableComboBoxModel |
createNavigationBinding(JUFormBinding formBinding, java.lang.Object control, java.lang.String voInstanceName, java.lang.String voIterName, java.lang.String voIterBindingName, java.lang.String[] voAttrNames, javax.swing.ListCellRenderer cellRenderer, javax.swing.ComboBoxEditor editor) Use this binding when the given combobox is used as a navigation control to iterate through a range or rows in a RowSet. |
protected AttributeDef[] |
getComboDisplayAttrs() |
protected javax.swing.JComboBox |
getControlCombo() |
java.lang.Object |
getControlModel(java.lang.Object control) Gets the associated View's model object. |
java.util.List |
getDisplayData() Returns a List of Map elements. |
java.lang.Object |
getElementAt(int index) |
static javax.swing.MutableComboBoxModel |
getInstance(JUFormBinding formBinding, java.lang.Object control, java.lang.String voInstanceName, java.lang.String voIterName, java.lang.String voIterBindingName, java.lang.String[] voAttrNames, java.lang.String lovVOInstanceName, java.lang.String[] lovVOAttrNames, java.lang.String[] lovVODisplayedAttrNames, javax.swing.ListCellRenderer cellRenderer, javax.swing.ComboBoxEditor editor) Deprecated. since 9.0.2 use createEnumerationBinding, createNavigationBinding or createLovBinding instead |
static javax.swing.MutableComboBoxModel |
getInstance(JUFormBinding formBinding, java.lang.Object control, java.lang.String voInstanceName, java.lang.String voIterName, java.lang.String voIterBindingName, java.lang.String attrName, java.lang.Object[] values) Deprecated. since 9.0.2 use createEnumerationBinding, createNavigationBinding or createLovBinding instead |
protected javax.swing.MutableComboBoxModel |
getModelImpl(javax.swing.JComboBox control) Sets the model reference in this binding class by using the current model in the combobox. |
java.lang.String |
getNullValueString() |
java.lang.Object |
getSelectedItem() |
int |
getSize() |
java.lang.Object |
getValueAt(int attrIndex) Returns the currently selected item from the list model. |
protected void |
init(javax.swing.JComboBox cb) |
void |
insertElementAt(java.lang.Object obj, int index) |
protected boolean |
isControlQueriable() Returns true, so that JTextComponents can participate in a query in the Find Mode of the containing panel. |
boolean |
isRefreshingList() |
protected boolean |
isViewInitialized() |
protected void |
refreshComboList(boolean clean, boolean keepSelectedIndex, boolean usePreferredList) |
void |
refreshControl() *** For internal framework use only *** |
protected void |
refreshListItem(boolean clean, boolean keepSelectedIndex) |
void |
release(int flags) |
void |
removeElement(java.lang.Object obj) |
void |
removeElementAt(int index) |
void |
removeListDataListener(javax.swing.event.ListDataListener l) |
void |
setDataValueAt(java.lang.Object value, int attrIndex) Should be used by applications to update both the combobox selection and the correpsonding attributes in the current row of the target viewobject. |
void |
setSelectedIndex(int listIndex) Sets the item at the given index as current selection in the listbox. |
void |
setSelectedItem(java.lang.Object anItem) |
protected void |
setupListItems(boolean clean, boolean keepSelectedIndex) This method is used by the framwork to setup the list of values (LOV) that will be displayed in this combobox. |
void |
setValueAt(java.lang.Object value, int attrIndex) Finds the item in the combobox that matches the given value and sets it as the current item. |
protected void |
updateTargetFromSelectedValue(java.lang.Object val) |
protected int |
updateValueToCurrentRow(javax.swing.JComboBox combo, int comboSize, int index, boolean usePreferredList) |
Methods inherited from class oracle.jbo.uicli.binding.JUCtrlAttrsBinding |
---|
createAttributeBinding, setControlEnabled, updateValuesFromRows |
Methods inherited from class oracle.jbo.uicli.binding.JUControlBinding |
---|
getCurrentRow, getFormBinding, getIteratorBinding, reportException, setFormBinding |
Methods inherited from class oracle.jbo.common.JboAbstractMap |
---|
entrySet, equals, internalPut, setThrowIfPropertyNotFoundOnGet |
Methods inherited from class java.util.AbstractMap |
---|
clear, clone, containsKey, containsValue, isEmpty, keySet, putAll, remove, size, values |
Methods inherited from class java.lang.Object |
---|
finalize, getClass, notify, notifyAll, wait, wait, wait |
Methods inherited from interface oracle.adf.model.AttributeBinding |
---|
getErrors, getInputValue, getLabel, setInputValue, validateInputValue |
Methods inherited from interface oracle.adf.model.ControlBinding |
---|
setListener |
Methods inherited from interface oracle.binding.ControlBinding |
---|
getName, getPath, release, resolvePath, setListener |
Methods inherited from interface oracle.jbo.StructureDef |
---|
getDefFullName, getDefName, getFullName, getName |
Field Detail |
---|
protected javax.swing.MutableComboBoxModel mComboModel
protected boolean mSettingValue
protected javax.swing.ListCellRenderer mCellRenderer
protected javax.swing.ComboBoxEditor mEditor
Constructor Detail |
---|
public JUComboBoxCtrlBinding(java.lang.Object cb, JUIteratorBinding iterBinding, java.lang.String[] attrNames, int listOperMode)
cb
- JComboBox or JUComboBox with which to associate this binding.iterBinding
- Provides the RowSet from which this binding accesses data to display in the combobox and optionally the current row for which attribute(s) are to be updated.attrNames
- An ordered array of attribute names to display and optionally update in a ViewObject.listOperMode
- Can be one of two values:
public JUComboBoxCtrlBinding(java.lang.Object cb, JUIteratorBinding iterBinding, java.lang.String[] attrNames, java.lang.Object[] valueList)
cb
- JComboBox or JUComboBox with which to associate this binding.iterBinding
- Provides the RowSet that is used to update current selection from the combobox into the current row in the rowset.attrNames
- Provides the name of an attribute (only one attribute is updateable in this mode).valueList
- A static list of values displayed as options in the combobox from which to select.protected JUComboBoxCtrlBinding(java.lang.Object cb, DCIteratorBinding iterBinding, java.lang.String[] attrNames, java.lang.String lbName)
public JUComboBoxCtrlBinding(java.lang.Object cb, JUIteratorBinding iterBinding, java.lang.String[] attrNames, JUIteratorBinding listIterBinding, java.lang.String[] listAttrNames, java.lang.String[] listDisplayAttrNames)
cb
- JComboBox or JUComboBox to associate this binding with.iterBinding
- Provides the RowSet in which the current row is updated based on selection in the combobox.attrNames
- An ordered array of attribute names to update in a ViewObject. This list should have the same number of attributes as in listAttrNames, which provides the corresponding attribute names from the display ViewObject/RowSet.listIterBinding
- Provides the RowSet which is used to display data in the combobox.listAttrNames
- An ordered list of attribute names, which are used to get the values to update into the attributes from the attrNames list in the target ViewObject. If this list is null, then the attribute names for display are set the same as attrNames.listDisplayAttrNames
- An ordered list of attribute names that specify the attributes to display from rows in the display ViewObject/RowSet. If this list is null, then attribute names are assumed to be same as in attrNames.Method Detail |
---|
protected void init(javax.swing.JComboBox cb)
protected javax.swing.MutableComboBoxModel getModelImpl(javax.swing.JComboBox control)
public void addControlToPanel(java.lang.Object panel, java.lang.Object layoutObject, java.lang.Object layoutCons)
addControlToPanel
in class JUCtrlListBinding
protected boolean isViewInitialized()
isViewInitialized
in class JUCtrlListBinding
protected void refreshListItem(boolean clean, boolean keepSelectedIndex)
protected void setupListItems(boolean clean, boolean keepSelectedIndex)
setupListItems
in class JUCtrlListBinding
clean
- Controls whether to clean the existing entries in the combobox.keepSelectedIndex
- Controls whether to maintain current index as the selected index after the display data is updated. If this value is true, the current index is maintained. However if the current index is more than the number of items in the combobox, then the selection is reset to the first item.protected void refreshComboList(boolean clean, boolean keepSelectedIndex, boolean usePreferredList)
protected AttributeDef[] getComboDisplayAttrs()
public boolean isRefreshingList()
protected int updateValueToCurrentRow(javax.swing.JComboBox combo, int comboSize, int index, boolean usePreferredList)
public java.lang.Object getValueAt(int attrIndex)
getValueAt
in class JUCtrlListBinding
attrIndex
- This argument is ignored by this method.public void setValueAt(java.lang.Object value, int attrIndex)
setValueAt
in class JUCtrlListBinding
value
- This value is used in findMatchingListValue method to find out the item in the combobox that represents the given value. If the value is not found, then no item is selected in the list.attrIndex
- This argument is ignored by this method.public void setDataValueAt(java.lang.Object value, int attrIndex)
setDataValueAt
in class JUCtrlListBinding
value
- This value is used in findMatchingListValue method to find out the item in the combobox that represents the given value. If the value is not found, then no item is selected in the list.attrIndex
- This argument is ignored by this method.public void setSelectedIndex(int listIndex)
setSelectedIndex
in class JUCtrlListBinding
protected boolean isControlQueriable()
An application could create a subclass of this binding object and return false from this method to prevent the associated control from participating in find mode. Additionally, a BC4J attribute itself can control whether that attribute can participate in Query or not. That property takes precedence over this method's return, if this method returns true. In other words, if this binding is bound to a CLOB attribute type and the attribute definition for that attribute indicates that it is not queriable, then the default behavior of JUPanelBinding in Find mode will be to disable this binding's control, even though this method returns true.
isControlQueriable
in class JUCtrlListBinding
public void actionPerformed(java.awt.event.ActionEvent e)
actionPerformed
in interface java.awt.event.ActionListener
protected void updateTargetFromSelectedValue(java.lang.Object val)
updateTargetFromSelectedValue
in class JUCtrlListBinding
public void setSelectedItem(java.lang.Object anItem)
setSelectedItem
in interface javax.swing.ComboBoxModel
public java.lang.Object getSelectedItem()
getSelectedItem
in interface javax.swing.ComboBoxModel
public int getSize()
getSize
in interface javax.swing.ListModel
public java.lang.Object getElementAt(int index)
getElementAt
in interface javax.swing.ListModel
public void addListDataListener(javax.swing.event.ListDataListener l)
addListDataListener
in interface javax.swing.ListModel
public void removeListDataListener(javax.swing.event.ListDataListener l)
removeListDataListener
in interface javax.swing.ListModel
public void addElement(java.lang.Object obj)
addElement
in interface javax.swing.MutableComboBoxModel
public void removeElement(java.lang.Object obj)
removeElement
in interface javax.swing.MutableComboBoxModel
public void insertElementAt(java.lang.Object obj, int index)
insertElementAt
in interface javax.swing.MutableComboBoxModel
public void removeElementAt(int index)
removeElementAt
in interface javax.swing.MutableComboBoxModel
public java.lang.Object getControlModel(java.lang.Object control)
getControlModel
in class DCControlBinding
public void refreshControl()
JUCtrlAttrsBinding
Updates the values in a control that is bound using an Iterator already in use. (a valid row iterator) If you do not call this method, your control won't update unless you refresh the Iterator.
refreshControl
in class JUCtrlAttrsBinding
public static javax.swing.MutableComboBoxModel createEnumerationBinding(JUFormBinding formBinding, java.lang.Object control, java.lang.String voInstanceName, java.lang.String voIterName, java.lang.String voIterBindingName, java.lang.String attrName, java.lang.Object[] values)
public static javax.swing.MutableComboBoxModel getInstance(JUFormBinding formBinding, java.lang.Object control, java.lang.String voInstanceName, java.lang.String voIterName, java.lang.String voIterBindingName, java.lang.String attrName, java.lang.Object[] values)
public static javax.swing.MutableComboBoxModel createLovBinding(JUFormBinding formBinding, java.lang.Object control, java.lang.String voInstanceName, java.lang.String voIterName, java.lang.String voIterBindingName, java.lang.String[] voAttrNames, java.lang.String lovVOInstanceName, java.lang.String[] lovVOAttrNames, java.lang.String[] lovVODisplayedAttrNames, javax.swing.ListCellRenderer cellRenderer, javax.swing.ComboBoxEditor editor)
public static javax.swing.MutableComboBoxModel createNavigationBinding(JUFormBinding formBinding, java.lang.Object control, java.lang.String voInstanceName, java.lang.String voIterName, java.lang.String voIterBindingName, java.lang.String[] voAttrNames, javax.swing.ListCellRenderer cellRenderer, javax.swing.ComboBoxEditor editor)
public static javax.swing.MutableComboBoxModel getInstance(JUFormBinding formBinding, java.lang.Object control, java.lang.String voInstanceName, java.lang.String voIterName, java.lang.String voIterBindingName, java.lang.String[] voAttrNames, java.lang.String lovVOInstanceName, java.lang.String[] lovVOAttrNames, java.lang.String[] lovVODisplayedAttrNames, javax.swing.ListCellRenderer cellRenderer, javax.swing.ComboBoxEditor editor)
public void release(int flags)
release
in class JUCtrlListBinding
public java.util.List getDisplayData()
JUCtrlListBinding
selected
- Boolean.TRUE if current entry should be selectedindex
- Index value of the current entry()prompt
- Concatenated string of all display attribute values for the current entry()displayValues
- Iterator of display attribute values.selectedIndex
- Index of the selected entry that this listBinding is bound to.
Returns null if the list of values for this binding is null. This condition should not occur if the list-binding definition is complete.
getDisplayData
in class JUCtrlListBinding
protected javax.swing.JComboBox getControlCombo()
public java.lang.String getNullValueString()
getNullValueString
in class JUCtrlValueBinding
|
Oracle Fusion Middleware Java API Reference for Oracle ADF Model 11g Release 1 (11.1.1) E10653-03 |
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |