    All Packages  Class Hierarchy  This Package  Previous  Next  Index

# Class jclass.bwt.JCListComponent

    java.lang.Object
       |
       +----java.awt.Component
               |
               +----java.awt.Canvas
                       |
                       +----jclass.bwt.JCComponent
                               |
                               +----jclass.bwt.JCListComponent

public class JCListComponent
extends JCComponent
implements JCListInterface, JCScrollableInterface, JCItemSelectable

A list of text and/or image items. To create a scrollable list, use JCList.

See Also:
  JCList

##

actionListeners
  List of action listeners
itemListeners
  List of JCItemEvent/JCListEvent listeners
scrolled_window
  Parent window.

##

JCListComponent()
  Creates an empty 4-row list.
JCListComponent(int, boolean)
  Creates a list with the specified number of visible lines.
JCListComponent(JCVector)
  Creates a 4-row list with the specified items.
JCListComponent(JCVector, Applet, String)
  Creates a 4-row list which reads parameters from the applet's HTML file.

##

addActionListener(JCActionListener)
  Adds the specified action listener to receive action events from this list.
addItem(Object)
  Adds an item to the end of the list.
addItem(Object, int)
  Adds or inserts an item to the list.
addItemListener(JCItemListener)
  Adds the specified item listener to receive item events from this list.
addNotify()
  Calculate the item sizes.
allowsMultipleSelections()
  Returns true if this list allows multiple selections.
calcRowWidth(int)
  Calculates the width of the row.
calcSize(boolean)
  Calculates the list's internal sizes.
calcSize(int, boolean)
  Recalculates the list's internal sizes based on the row.
calcWidestRow()
  Calculates the widest row.
clear()
  Clears all items in the list.
countItems()
  Gets the number of items in the list.
deleteItem(int)
  Delete an item from the list.
deleteItems(int, int)
  Deletes multiple items from the list.
deselect(int)
  Deselects the item at the specified row, and posts an JCItemEvent.
deselectAll()
  Deselects all items.
doubleClickAction(Event, int)
  Called when the user double-clicks an item.
draw(Graphics, Object, int, Rectangle)
  Draws the value as a String, JCString or Image.
drawHighlight(Graphics, int, boolean)
  Draws or clears the highlight rectangle around the row.
drawHighlight(int, boolean)
  Draws or clears the highlight rectangle around the row.
eventToRow(Event, boolean)
  Gets the row specified by the event, or BWTEnum.NOTFOUND.
find(Object)
  Finds the first row matching the specified item, or BWTEnum.NOTFOUND.
findItem(char)
  Finds the first item which starts with the specified character, or BWTEnum.NOTFOUND if none could be found.
findNextItem(char, int)
  Finds the next item which starts with the specified character, or BWTEnum.NOTFOUND if none could be found.
findPrevItem(char, int)
  Finds the previous item which starts with the specified character, or BWTEnum.NOTFOUND if none could be found.
getAllowMultipleSelections()
  Returns true if this list allows multiple selections.
getAutoSelect()
  Gets the AutoSelect value.
getBatched()
  Gets the Batched value.
getBounds(int, boolean)
  Gets the bounding rectangle of a row, or null if the row is invalid.
getHorizOrigin()
  Gets the horizontal origin.
getItem(int)
  Returns the item at the specified row.
getItems()
  Gets the list's values.
getItemsStrings()
  Gets the list's values as a list of Strings.
getNextAutoSearchIndex(Event, int)
getParameters()
  Reads the parameter values from the HTML page using the component's applet.
getRowHeight()
  Gets the RowHeight value.
getRowHeight(int)
  Gets the height of the row calculated previously.
getRowPosition(int)
  Gets the position of the row calculated previously.
getRows()
  Returns the number of visible lines.
getSelectedBackground()
  Gets the list's SelectedBackground value.
getSelectedForeground()
  Gets the list's SelectedForeground value.
getSelectedIndex()
  Gets the first selected row, or BWTEnum.NOTFOUND if no item is selected.
getSelectedIndexes()
  Returns a list of the selected rows, or null if no items are selected.
getSelectedItem()
  Returns the selected item on the list, or null if no item is selected.
getSelectedObjects()
  Returns the selected items on the list as Strings, or null if no item is selected.
getSpacing()
  Gets the spacing between items.
getTopRow()
  Gets the current top-most visible row.
getUserDataList()
  Gets the UserDataList value.
getVertOrigin()
  Gets the vertical origin.
getVisibleIndex()
  Gets the index of the item that was last made visible by makeVisible().
getVisibleRange(Insets)
  Returns the top and bottom-most visible rows.
getVisibleRows()
  Returns the number of visible lines.
getWrapAroundSearch()
isSelected(int)
  Returns true if the item at the specified row has been selected.
keyDown(Event, int)
  Moves selection up or down if arrow key hit; posts an JCActionEvent if ENTER is hit; otherwise selects item which starts with the character.
makeVisible(int)
  Forces the item at the specified row to be visible.
mouseDown(Event, int, int)
  If the event's clickCount is greater than 1 calls doubleClickAction.

  If the SHIFT key is pressed, extends the current selection.

  If the CONTROL key is pressed, toggles the current selection.

  Otherwise the click point is toggled.

mouseDrag(Event, int, int)
  Extends the selection to a new row if AllowMultipleSelections is true.
mouseUp(Event, int, int)
  If the event's clickCount is greater than 1, no action is taken.

  If the SHIFT key is pressed, extension of the current selection is ended.

  If the CONTROL key is pressed, toggling of the current selection is ended.

  Otherwise the click point is toggled.

paintComponent(Graphics)
  Draws items
paintRow(int)
  Draws a row.
paintRow(int, Graphics)
  Draws a row.
preferredHeight()
  Returns the visible height, if it has been set, or the sum of all item heights.
preferredWidth()
  Returns the width of the widest item.
remove(String)
  Removes the first occurrence of an item from the list.
removeActionListener(JCActionListener)
  Removes the specified action listener so it no longer receives action events from this list.
removeItemListener(JCItemListener)
  Removes the specified item listener so it no longer receives item events from this list.
repaint()
  Repaints the component if Batched is false.
replaceItem(Object, int)
  Replaces the item at the specified row.
select(int)
  Selects the item at the specified row, and posts a JCListEvent.
select(int, boolean)
  Selects the item at the specified row, and posts a JCListEvent.
select(Object)
  Selects the specified item.
select(Object, boolean)
  Selects the specified item.
setAllowMultipleSelections(boolean)
  Sets whether the list allows multiple selections.
setAutoSelect(boolean)
  If true, the item which currently has focus is also selected (default: false).

  HTML param name/value: "AutoSelect"/boolean

setBatched(boolean)
  If false (default), the component is repainted every time an item is changed.
setFont(Font)
  Sets the font of the component.
setHorizOrigin(int)
  Sets the horizontal origin prior to scrolling.
setItems(JCVector)
  Sets the list's values as a Vector of objects.

  HTML param name/value: "Items"/string list

setItems(String[])
  Sets the list's values as an array of Strings.
setRowHeight(int)
  Sets the height of each row (pixels).

  HTML param name/value: "RowHeight"/an int, "VARIABLE", or "FONT_HEIGHT"

setSelectedBackground(Color)
  Sets the background color of selected rows (default: foreground color).

  HTML param name/value: "SelectedBackground"/color

setSelectedForeground(Color)
  Sets the foreground color of selected rows (default: background color).

  HTML param name/value: "SelectedForeground"/color

setSpacing(int)
  Sets the spacing between items (default: 0).
setTopRow(int)
  Sets the top-most visible row.
setUserDataList(Object[])
  Sets an application-defined list of objects that are maintained for each item.
setVertOrigin(int)
  Sets the vertical origin prior to scrolling.
setVisibleRows(int)
  Sets the number of visible rows (default: 4).
setWrapAroundSearch(boolean)
  Sets the WrapAroundSearch value.
updateSelectedList()
  Updates the selected item list after an item has changed.
updateUserdataList()
  Updates the userdata list after an item has changed.

##

actionListeners

     protected JCVector actionListeners

  List of action listeners

itemListeners

     protected JCVector itemListeners

  List of JCItemEvent/JCListEvent listeners

scrolled_window

     protected JCScrolledWindow scrolled_window

  Parent window.

##

JCListComponent

     public JCListComponent()

  Creates an empty 4-row list. No parameters are read from an HTML file.

JCListComponent

     public JCListComponent(JCVector items)

  Creates a 4-row list with the specified items. No parameters are read from an HTML file.

  See Also:
    setItems

JCListComponent

     public JCListComponent(JCVector items,
                            Applet applet,
                            String name)

  Creates a 4-row list which reads parameters from the applet's HTML file.

  Parameters:
    items - the initial items This may be a String, JCString or any object (in which case the object's toString() method is called to obtain a string).
    applet - the applet whose PARAM tags are to be read
    name - if this is not null, only parameters preceded by this name are read
  See Also:
    setItems, getParameter, JCString

JCListComponent

     public JCListComponent(int rows,
                            boolean multipleSelections)

  Creates a list with the specified number of visible lines.

  Parameters:
    rows - the number of items to show (default: 4). If set to BWTEnum.VARIABLE, the list will attempt to show all its items.
    multipleSelections - if true then multiple selections are allowed.

##

getParameters

     protected void getParameters()

  Reads the parameter values from the HTML page using the component's applet. The values will override those previously set.

  Overrides:
    getParameters in class JCComponent

addItemListener

     public void addItemListener(JCItemListener l)

  Adds the specified item listener to receive item events from this list. If the listener implements JCListListener (an JCItemListener subclass), it will be passed JCListEvents.

  See Also:
    JCItemEvent, JCListEvent, JCListListener

removeItemListener

     public void removeItemListener(JCItemListener l)

  Removes the specified item listener so it no longer receives item events from this list.

addActionListener

     public void addActionListener(JCActionListener l)

  Adds the specified action listener to receive action events from this list. Action events occur when a list item is double-clicked.

  See Also:
    JCActionEvent

removeActionListener

     public void removeActionListener(JCActionListener l)

  Removes the specified action listener so it no longer receives action events from this list.

  See Also:
    addActionListener

setFont

     public void setFont(Font f)

  Sets the font of the component. HTML param name/value: "Font"/font

  Overrides:
    setFont in class JCComponent
  See Also:
    toFont

getUserDataList

     public Object[] getUserDataList()

  Gets the UserDataList value.

  See Also:
    setUserDataList

setUserDataList

     public void setUserDataList(Object v[])

  Sets an application-defined list of objects that are maintained for each item.

getItems

     public JCVector getItems()

  Gets the list's values.

  See Also:
    setItems

getItem

     public Object getItem(int row)

  Returns the item at the specified row.

  See Also:
    setItems

setItems

     public void setItems(String items[])

  Sets the list's values as an array of Strings.

getItemsStrings

     public synchronized String[] getItemsStrings()

  Gets the list's values as a list of Strings.

  See Also:
    setItems

setItems

     public void setItems(JCVector items)

  Sets the list's values as a Vector of objects.

  HTML param name/value: "Items"/string list

  Parameters:
    items - Each object may be a String, JCString or any object (in which case the object's toString() method is called to obtain a string).
  See Also:
    JCString, toVector

getBatched

     public boolean getBatched()

  Gets the Batched value.

  See Also:
    setBatched

setBatched

     public void setBatched(boolean v)

  If false (default), the component is repainted every time an item is changed. If set to true, the component is only repainted (if necessary) when the value is again set to false.

getSpacing

     public int getSpacing()

  Gets the spacing between items.

  See Also:
    setSpacing

setSpacing

     public void setSpacing(int v)

  Sets the spacing between items (default: 0). This value increases the HighlightThickness value.

  HTML param name/value: "Spacing"/int

  See Also:
    setHighlightThickness

getWrapAroundSearch

     protected boolean getWrapAroundSearch()

setWrapAroundSearch

     protected void setWrapAroundSearch(boolean v)

  Sets the WrapAroundSearch value. If true (default), search by key entered will wrap around to the beginning/end of the list to find the next/previous item. Unexposed until necessary.

countItems

     public int countItems()

  Gets the number of items in the list.

addItem

     public void addItem(Object item,
                         int row)

  Adds or inserts an item to the list.

  Parameters:
    item - the item to be added. This may be a String, JCString or any object (in which case the object's toString() method is called to obtain a string).
    row - the position at which to put the item. If row is -1, or greater than the number of items in the list, the item is added to the end.
  See Also:
    JCString

addItem

     public void addItem(Object item)

  Adds an item to the end of the list.

  Parameters:
    item - the item to be added. This may be a String, JCString or any object (in which case the object's toString() method is called to obtain a string).

replaceItem

     public void replaceItem(Object item,
                             int row)

  Replaces the item at the specified row.

clear

     public void clear()

  Clears all items in the list.

  See Also:
    deleteItems

deleteItems

     public void deleteItems(int start_row,
                             int end_row)

  Deletes multiple items from the list. #see clear

deleteItem

     public void deleteItem(int row)

  Delete an item from the list.

remove

     public void remove(String item)

  Removes the first occurrence of an item from the list.

  Throws: IllegalArgumentException
    If the item doesn't exist

getSelectedIndex

     public synchronized int getSelectedIndex()

  Gets the first selected row, or BWTEnum.NOTFOUND if no item is selected.

  See Also:
    select, deselect, isSelected

getTopRow

     public int getTopRow()

  Gets the current top-most visible row.

  See Also:
    setTopRow

setTopRow

     public void setTopRow(int row)

  Sets the top-most visible row.

  See Also:
    makeVisible

makeVisible

     public void makeVisible(int row)

  Forces the item at the specified row to be visible.

getVisibleIndex

     public int getVisibleIndex()

  Gets the index of the item that was last made visible by makeVisible().

  See Also:
    makeVisible

getSelectedItem

     public synchronized Object getSelectedItem()

  Returns the selected item on the list, or null if no item is selected.

  See Also:
    select, deselect, isSelected

getSelectedObjects

     public Object[] getSelectedObjects()

  Returns the selected items on the list as Strings, or null if no item is selected.

  See Also:
    select, deselect, isSelected

getSelectedIndexes

     public synchronized int[] getSelectedIndexes()

  Returns a list of the selected rows, or null if no items are selected.

  See Also:
    select, deselect, isSelected

deselect

     public void deselect(int row)

  Deselects the item at the specified row, and posts an JCItemEvent.

  See Also:
    select, getSelectedIndex, isSelected, addItemListener

deselectAll

     public synchronized void deselectAll()

  Deselects all items. No events are posted

select

     public synchronized void select(int row)

  Selects the item at the specified row, and posts a JCListEvent. If allowsMultipleSelections is false, any previously selected rows are deselected.

  See Also:
    setAllowMultipleSelections, addItemListener

select

     public synchronized void select(Object item)

  Selects the specified item.

  See Also:
    getSelectedItem, getSelectedIndex

select

     public synchronized void select(Object item,
                                     boolean notify)

  Selects the specified item. If allowsMultipleSelections is false, any previously selected rows are deselected.

  Parameters:
    notify - if true, a JCListEvent is posted.
  See Also:
    setAllowMultipleSelections, getSelectedItem, deselect, isSelected, addItemListener

select

     public synchronized void select(int row,
                                     boolean notify)

  Selects the item at the specified row, and posts a JCListEvent. If allowsMultipleSelections is false, any previously selected rows are deselected.

  Parameters:
    notify - if true, a JCListEvent is posted.
  See Also:
    setAllowMultipleSelections, addItemListener

find

     public int find(Object item)

  Finds the first row matching the specified item, or BWTEnum.NOTFOUND.

isSelected

     public synchronized boolean isSelected(int row)

  Returns true if the item at the specified row has been selected.

  See Also:
    select, deselect

allowsMultipleSelections

     public boolean allowsMultipleSelections()

  Returns true if this list allows multiple selections.

  See Also:
    setAllowMultipleSelections

getAllowMultipleSelections

     public boolean getAllowMultipleSelections()

  Returns true if this list allows multiple selections.

  See Also:
    setAllowMultipleSelections

setAllowMultipleSelections

     public void setAllowMultipleSelections(boolean v)

  Sets whether the list allows multiple selections. HTML param name/value: "AllowMultipleSelections"/boolean

  See Also:
    allowsMultipleSelections

getBounds

     public Rectangle getBounds(int row,
                                boolean adjust)

  Gets the bounding rectangle of a row, or null if the row is invalid.

  Parameters:
    adjust - if true, the co-ordinates are adjusted by the amount that the list has been scrolled
  See Also:
    makeVisible

getAutoSelect

     public boolean getAutoSelect()

  Gets the AutoSelect value.

  See Also:
    setAutoSelect

setAutoSelect

     public void setAutoSelect(boolean v)

  If true, the item which currently has focus is also selected (default: false).

  HTML param name/value: "AutoSelect"/boolean

  See Also:
    select

getRowHeight

     protected int getRowHeight(int row)

  Gets the height of the row calculated previously.

calcRowWidth

     protected int calcRowWidth(int row)

  Calculates the width of the row.

getRowPosition

     protected int getRowPosition(int row)

  Gets the position of the row calculated previously.

getRowHeight

     public int getRowHeight()

  Gets the RowHeight value.

  See Also:
    setRowHeight

setRowHeight

     public void setRowHeight(int h)

  Sets the height of each row (pixels).

  HTML param name/value: "RowHeight"/an int, "VARIABLE", or "FONT_HEIGHT"

  Parameters:
    h - any int, or one of the following:

    If set to BWTEnum.VARIABLE, the height will be calculated individually for each row.

    If set to BWTEnum.FONT_HEIGHT (default), the height will be set to the height of the current font.

  Throws: IllegalArgumentException
    If an invalid value is set

eventToRow

     public int eventToRow(Event ev,
                           boolean visible)

  Gets the row specified by the event, or BWTEnum.NOTFOUND.

  Parameters:
    visible - if true, the row must be visible

getRows

     public int getRows()

  Returns the number of visible lines.

  See Also:
    setVisibleRows

getVisibleRows

     public int getVisibleRows()

  Returns the number of visible lines.

  See Also:
    setVisibleRows

setVisibleRows

     public void setVisibleRows(int v)

  Sets the number of visible rows (default: 4). If set to BWTEnum.VARIABLE, the list will attempt to resize itself so that all its items are visible.

  See Also:
    setItems

getVisibleRange

     public void getVisibleRange(Insets range)

  Returns the top and bottom-most visible rows.

  Parameters:
    range - returned

getSelectedBackground

     public Color getSelectedBackground()

  Gets the list's SelectedBackground value.

  See Also:
    setSelectedBackground

setSelectedBackground

     public void setSelectedBackground(Color v)

  Sets the background color of selected rows (default: foreground color).

  HTML param name/value: "SelectedBackground"/color

  See Also:
    toColor

getSelectedForeground

     public Color getSelectedForeground()

  Gets the list's SelectedForeground value.

  See Also:
    setSelectedForeground

setSelectedForeground

     public void setSelectedForeground(Color v)

  Sets the foreground color of selected rows (default: background color).

  HTML param name/value: "SelectedForeground"/color

  See Also:
    toColor

findPrevItem

     public int findPrevItem(char c,
                             int end)

  Finds the previous item which starts with the specified character, or BWTEnum.NOTFOUND if none could be found.

  Parameters:
    c - the character to search
    end - the ending item index. The search includes this item.

findNextItem

     public int findNextItem(char c,
                             int start)

  Finds the next item which starts with the specified character, or BWTEnum.NOTFOUND if none could be found.

  Parameters:
    c - the character to search
    start - the starting item index. The search includes this item.

findItem

     public int findItem(char c)

  Finds the first item which starts with the specified character, or BWTEnum.NOTFOUND if none could be found.

calcSize

     protected void calcSize(boolean update_parent)

  Calculates the list's internal sizes.

calcSize

     protected void calcSize(int row,
                             boolean new_row)

  Recalculates the list's internal sizes based on the row.

  Parameters:
    new_row - whether this is a new item

updateSelectedList

     protected void updateSelectedList()

  Updates the selected item list after an item has changed.

updateUserdataList

     protected void updateUserdataList()

  Updates the userdata list after an item has changed.

calcWidestRow

     protected int calcWidestRow()

  Calculates the widest row.

repaint

     public void repaint()

  Repaints the component if Batched is false.

  Overrides:
    repaint in class JCComponent
  See Also:
    setBatched

addNotify

     public void addNotify()

  Calculate the item sizes.

  Overrides:
    addNotify in class JCComponent

preferredWidth

     protected int preferredWidth()

  Returns the width of the widest item.

  Overrides:
    preferredWidth in class JCComponent

preferredHeight

     protected int preferredHeight()

  Returns the visible height, if it has been set, or the sum of all item heights.

  Overrides:
    preferredHeight in class JCComponent

paintRow

     public void paintRow(int row)

  Draws a row.

draw

     protected void draw(Graphics gc,
                         Object value,
                         int alignment,
                         Rectangle draw_rect)

  Draws the value as a String, JCString or Image.

  Parameters:
    alignment - one of: BWTEnum.TOPLEFT, TOPCENTER, TOPRIGHT, MIDDLELEFT, MIDDLECENTER, MIDDLERIGHT, BOTTOMLEFT, BOTTOMCENTER and BOTTOMRIGHT
    draw_rect - rectangle within which to draw the value

drawHighlight

     protected void drawHighlight(int row,
                                  boolean on)

  Draws or clears the highlight rectangle around the row.

drawHighlight

     protected void drawHighlight(Graphics gc,
                                  int row,
                                  boolean on)

  Draws or clears the highlight rectangle around the row.

paintRow

     protected void paintRow(int row,
                             Graphics gc)

  Draws a row.

paintComponent

     protected void paintComponent(Graphics gc)

  Draws items

  Overrides:
    paintComponent in class JCComponent

doubleClickAction

     protected boolean doubleClickAction(Event ev,
                                         int row)

  Called when the user double-clicks an item. An JCActionEvent is posted.

  See Also:
    addActionListener

mouseDrag

     public boolean mouseDrag(Event ev,
                              int x,
                              int y)

  Extends the selection to a new row if AllowMultipleSelections is true.

  Overrides:
    mouseDrag in class Component
  See Also:
    setAllowMultipleSelections

mouseDown

     public boolean mouseDown(Event ev,
                              int x,
                              int y)

  If the event's clickCount is greater than 1 calls doubleClickAction.

  If the SHIFT key is pressed, extends the current selection.

  If the CONTROL key is pressed, toggles the current selection.

  Otherwise the click point is toggled.

  Overrides:
    mouseDown in class JCComponent

mouseUp

     public boolean mouseUp(Event ev,
                            int x,
                            int y)

  If the event's clickCount is greater than 1, no action is taken.

  If the SHIFT key is pressed, extension of the current selection is ended.

  If the CONTROL key is pressed, toggling of the current selection is ended.

  Otherwise the click point is toggled.

  Overrides:
    mouseUp in class Component

getNextAutoSearchIndex

     protected int getNextAutoSearchIndex(Event ev,
                                          int key)

keyDown

     public boolean keyDown(Event ev,
                            int key)

  Moves selection up or down if arrow key hit; posts an JCActionEvent if ENTER is hit; otherwise selects item which starts with the character.

  Overrides:
    keyDown in class JCComponent

getHorizOrigin

     public int getHorizOrigin()

  Gets the horizontal origin.

setHorizOrigin

     public void setHorizOrigin(int v)

  Sets the horizontal origin prior to scrolling.

getVertOrigin

     public int getVertOrigin()

  Gets the vertical origin.

setVertOrigin

     public void setVertOrigin(int value)

  Sets the vertical origin prior to scrolling.

    All Packages  Class Hierarchy  This Package  Previous  Next  Index