by Dinesh Thakur

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);
      }
  }

List in Java Example