Package com.anylogic.engine.presentation
- Nested Class Summary
- Nested classes/interfaces inherited from class com.anylogic.engine.presentation.ShapeControl
- Field Summary
- Constructor Summary
- Method Summary
- Methods inherited from class com.anylogic.engine.presentation.ShapeInputControl
- Methods inherited from class com.anylogic.engine.presentation.ShapeControl
- Methods inherited from class com.anylogic.engine.presentation.Shape
- Methods inherited from class java.lang.Object
- Methods inherited from interface com.anylogic.engine.markup.AggregatableAnimationElement
- Field Details
- Constructor Details
- Method Details
- java.lang.Object
- com.anylogic.engine.presentation.Shape
- com.anylogic.engine.presentation.ShapeControl
- com.anylogic.engine.presentation.ShapeInputControl
- com.anylogic.engine.presentation.ShapeComboBox
- All Implemented Interfaces:
com.anylogic.engine.internal.Child
,Locatable2D
,AggregatableAnimationElement
,HasLevel
,LevelElement
,SVGElement
,Serializable
,Cloneable
public class ShapeComboBox extends ShapeInputControl
Combo box control. Embeds a JComboBox component.
- Author:
- AnyLogic North America, LLC https://anylogic.com
- See Also:
- Serialized Form
Modifier and Type | Field | Description |
---|---|---|
String | value |
The currently selected item of the combo box that can be accessed
in the overridden action() method.
Use getValue() to obtain the currently selected item
from other places |
Constructor | Description |
---|---|
ShapeComboBox |
Creates a persistent combo box control.
|
ShapeComboBox |
Deprecated.
may be removed in future releases
|
Modifier and Type | Method | Description |
---|---|---|
void | executeUserAction |
This method is internal and shouldn't be called by user.
it may be removed/renamed in future. |
double | getDoubleValue() |
Returns the current
double value of the combo box.Method throws an exception when the value isn't a number. |
int | getIntValue() |
Returns the current
int value of the combo box.Method throws an exception when the value isn't a number. This method differs from getValueIndex() : it tries to
parse the textual value as number |
String[] | getItems() |
Returns array of String items currently used in the combo box drop-down list
The returned array should not be changed by user |
String | getValue() |
Returns the currently selected text item.
|
int | getValueIndex() |
Returns the index of the currently selected text item or
-1 when this
is editable combobox and it doesn't contain entered value. |
void | setItems |
Sets new items for this combo box
This method preserves current combo box value: if it is editable if it is not-editable and current value is contained in new texts
This method doesn't execute user action code (even if current selection changes)This method throws an exception if this combo box has numeric value-type ( ShapeControl.TYPE_DOUBLE or ShapeControl.TYPE_INT ) and
some item(s) can't be parsed as a number. |
void | setItems |
Sets new items for this combo box
This method preserves current combo box value: if it is editable if it is not-editable and current value is contained in new texts
|
void | setValue |
Sets the numeric value of the combo box with value type
ShapeControl.TYPE_DOUBLE or ShapeControl.TYPE_INT .Doesn't execute user action code |
void | setValue |
Sets the numeric value of the combo box with value type
ShapeControl.TYPE_DOUBLE or ShapeControl.TYPE_INT .Executes user action code (if any exists) if callAction
parameter is true |
void | setValue |
Sets the selected text item of the combo box.
Doesn't execute user action code |
void | setValue |
Sets the selected text item of the combo box.
Executes user action code (if any exists) if callAction
parameter is true .If value-type is numeric and the given text isn't
a valid number, nothing will be changed |
void | setValueIndex |
Selects the item with the given index.
Doesn't execute user action code |
void | setValueIndex |
Selects the item with the given index.
Executes user action code (if any exists) if callAction
parameter is true . |
action, clone, contains, executeAction, getHeight, getPresentable, getWidth, isEnabled, randomPointInside, restoreOwner, setEnabled, setHeight, setValueToDefault, setWidth
canHandleClick, findSVGElement, getDrawMode, getGroup, getLevel, getName, getRotation, getScaleX, getScaleY, getSVGId, getX, getY, isJava2DSwingPresentation, isPublic_xjal, isSVGPresentation, isVisible, onAggregatorVisibilityChanged, onClick, randomPointInside, removeSVGFromOwner, removeSVGImage, resetSVGState, setLevel, setPos, setPos, setPublic_xjal, setRotation, setScale, setScale, setScaleX, setScaleY, setVisible, setX, setY, updateDynamicProperties, updateDynamicPropertiesStructural, updateSVGProperties
@AnyLogicInternalAPI public String value
The currently selected item of the combo box that can be accessed
in the overridden action() method.
Use
Use
getValue()
to obtain the currently selected item
from other placespublic ShapeComboBox(Presentable p, boolean ispublic, double x, double y, double width, double height, Color backgroundColor, Color textColor, Font font, String[] items, boolean editable, ShapeControl.ValueType valueType)
Deprecated.
may be removed in future releases
public ShapeComboBox(Presentable p, boolean ispublic, double x, double y, double width, double height, Color backgroundColor, Color textColor, boolean enabled, Font font, String[] items, boolean editable, ShapeControl.ValueType valueType)
Creates a persistent combo box control. You should override the action()
method, in which you can access the current selection of combo box as
"value".
- Parameters:
p
- the presentable object owning this controlispublic
- iftrue
, the control is visible on container's presentationx
- the x coordinatey
- the y coordinatewidth
- the widthheight
- the heightbackgroundColor
- the background colortextColor
- the text colorenabled
- the initial enabled statefont
- the text fontitems
- the array of text labels of the combo boxvalueType
- the type of the value edited in the combo box, supported types:ShapeControl.TYPE_STRING
,ShapeControl.TYPE_DOUBLE
,ShapeControl.TYPE_INT
public void setValue(String text)
Sets the selected text item of the combo box.
Doesn't execute user action code
Doesn't execute user action code
- Parameters:
text
- the new selected text item
public void setValue(String text, boolean callAction)
Sets the selected text item of the combo box.
Executes user action code (if any exists) if
If value-type is numeric and the given
Executes user action code (if any exists) if
callAction
parameter is true
.If value-type is numeric and the given
text
isn't
a valid number, nothing will be changed- Parameters:
text
- the new selected text itemcallAction
- iftrue
user action code (if any exists) will be executed
public void setValueIndex(int valueIndex)
Selects the item with the given index.
Doesn't execute user action code
Doesn't execute user action code
- Parameters:
valueIndex
- the item index
public void setValueIndex(int valueIndex, boolean callAction)
Selects the item with the given index.
Executes user action code (if any exists) if
Executes user action code (if any exists) if
callAction
parameter is true
.- Parameters:
valueIndex
- the item indexcallAction
- iftrue
user action code (if any exists) will be executed
public void setValue(double value)
Sets the numeric value of the combo box with value type
Doesn't execute user action code
ShapeControl.TYPE_DOUBLE
or ShapeControl.TYPE_INT
.Doesn't execute user action code
- Parameters:
value
- the new value (double
orint
)
public void setValue(double value, boolean callAction)
Sets the numeric value of the combo box with value type
Executes user action code (if any exists) if
ShapeControl.TYPE_DOUBLE
or ShapeControl.TYPE_INT
.Executes user action code (if any exists) if
callAction
parameter is true
- Parameters:
value
- the new value (double
orint
)callAction
- iftrue
user action code (if any exists) will be executed
public String getValue()
Returns the currently selected text item.
- Returns:
- the currently selected text item
public int getValueIndex()
Returns the index of the currently selected text item or
-1
when this
is editable combobox and it doesn't contain entered value.- Returns:
- the index of the currently selected text item or
-1
public int getIntValue()
Returns the current
Method throws an exception when the value isn't a number.
This method differs from
int
value of the combo box.Method throws an exception when the value isn't a number.
This method differs from
getValueIndex()
: it tries to
parse the textual value as number- Returns:
- the current
int
value of the combo box
public double getDoubleValue()
Returns the current
Method throws an exception when the value isn't a number.
double
value of the combo box.Method throws an exception when the value isn't a number.
- Returns:
- the current
double
value of the combo box
public String[] getItems()
Returns array of String items currently used in the combo box drop-down list
The returned array should not be changed by user
The returned array should not be changed by user
- Returns:
- array of String items currently used in the combo box drop-down list
public void setItems(String[] items)
Sets new items for this combo box
This method preserves current combo box value:
This method throws an exception if this combo box has numeric value-type (
This method preserves current combo box value:
- if it is editable
- if it is not-editable and current value is
contained in new
texts
This method throws an exception if this combo box has numeric value-type (
ShapeControl.TYPE_DOUBLE
or ShapeControl.TYPE_INT
) and
some item(s) can't be parsed as a number.- Parameters:
items
- the array of String items to be placed in the combo box drop-down list
public void setItems(String[] items, boolean callAction)
Sets new items for this combo box
This method preserves current combo box value:
This method preserves current combo box value:
- if it is editable
- if it is not-editable and current value is
contained in new
texts
- Parameters:
items
- the array of String items to be placed in the combo box drop-down listcallAction
- iftrue
and selection changes, user action code (if any exists) will be executed
@AnyLogicInternalAPI public void executeUserAction(String value)
Description copied from interface:
SVGElement
This method is internal and shouldn't be called by user.
it may be removed/renamed in future.
it may be removed/renamed in future.
- Specified by:
executeUserAction
in interfaceSVGElement
- Overrides:
executeUserAction
in classShape