The java.awt.List component , known as a listbox or list box, is similar to the Choice component, except it shows multiple items at a time and user is allowed to select either one or multiple items at a time. When the numbers of items in the list exceed the available space, the scrollbar will be displayed automatically. A list can be created by instantiating a List class.
The types of constructor supported by List control are the following:
List list=new List();
List list=new List(int numberofrows);
Ust list=new List(int numberof rows, boolean multi selection);
The first constructor is tbe default list. The second specifies the number of rows to be visible in the list and the third constructor specifies whether the multiple selections can be made. The methods that are used to add and select an item to the List are the same as those of Choice. Since it supports multiple selections, there are several methods that interact in this control. The two commonly used methods are:
String[] getSelectedltems();
Int[ ] getSelectedlndexes();
There is a method by name getitemCount() to get the number of items in the given list.
The List Box allows display a list of items with the following characteristics :
( i ) the items can not be edited directly by the user ,
( ii ) A vertical scroll bar automatically appears when the box list contains more items than it can display;
( iii ) can be configured to allow selection of a single item or multiple items, and
( iv ) when you click on an item not selected this shall be selected and vice versa .
This component produces basically two types of events :
java.awt.event.ItemEvent when selecting an item occurs and java.awt.event.ActionEvent when the user double-click a displayed item the list . These events require treatment by different listeners respectively as interfaces : java.awt.event.ItemListener and java.awt.event.ActionListener .
It is recommended not to use up the ActionListener event when the list is operating in multiple-selection mode as this may hinder user interaction .
List Interface
Method | Returns | Notes |
List() |
| Pass true if you want to allow multiple selected items |
List(int rows, boolean multipleSelections) | Void |
|
addItem(String item) | Void | Add at end |
addItem(String item, int index) | Void | Add in slot index |
allowMultipleSelections() | Boolean | Does this list currently allow multiple selections? |
clear() | Void | Empty the list |
countItems() | Int | How many items total? |
delItem(int position) | Void | Remove a particular item |
delItems(int start, int end) | Void | Remove a group of items |
deselect(int index) | Void | Unselect item in slot index |
getItem(int index) | String | Return a string containing the text of item index |
getRows() | Int | How many rows are visible? |
getSelectedIndex() | Int | Index of first selected item |
getSelectedIndexes() | Int[] | Array of indexes for each selected item |
getSelectedItem() | String | String of first selected item |
getSelectedItems() | String[] | Array of strings for text of each selected item |
getVisibleIndex() | Int | The last thing made visible (as opposed to scrolled off screen) |
isSelectedIndex(int index) | Boolean | Is this element selected? |
makeVisible(int index) | Void | Make this item visible, not necessarily at any particular position on screen |
minimumSize() | Dimension | For layout purpose |
minimumSize(int rows) | Dimension | For layout purpose |
preferredSize() | Dimension | For layout purpose |
preferredSize(int rows) | Dimension | For layout purpose |
replaceItem(String newValue, int index) | Void | Instead of delete and insert |
select(int index) | Void | Make this item selected |
setMultipleSelections(boolean v) | Void | Enable or disable multiple selections, affects operation of select() |
import java.awt.*;
class ListExample extends Frame
{
ListExample()
{
setLayout(new FlowLayout());
Label lblLanguage = new Label("Choose the Language");
List lstLanguage = new List(3,true);
lstLanguage.add("pascal");
lstLanguage.add("fortran");
lstLanguage.add("C");
lstLanguage.add("C++");
lstLanguage.add("java");
add(lblLanguage); add(lstLanguage);
}
}
class ListJavaExample
{
public static void main(String args[])
{
ListExample frame = new ListExample();
frame.setTitle("List in Java Example");
frame.setSize(250,150);
frame.setResizable(false);
frame.setVisible(true);
}
}