2. Objectives
On completion of this period, you would be
able to know
• Lists
• Scrollbars
http://improvejava.blogspot.in/
2
3. Recap
In the previous class, you have leant
• Checkbox and CheckboxGroups
• Handling the respective events
http://improvejava.blogspot.in/
3
4. Lists contd..
• The List class provides a compact, multiple-
choice, scrolling selection list
• It can also be created to allow multiple
selections
• List provides these constructors
– List( )
– List(int numRows)
– List(int numRows, boolean multipleSelect)
http://improvejava.blogspot.in/ 4
5. Lists contd..
• The first version creates
– a List control that allows
only one item to be
selected at any one time
• In the second form
– the value of numRows
specifies the number of
entries in the list that will
always be visible
• In the third form
– if multipleSelect is true,
then the user may select
two or more items at a time
– If it is false, then only one
http://improvejava.blogspot.in/ 5
item may be selected
6. Lists contd..
• To add a selection to the list, call add( )
• It has the following two forms
– void add(String name)
– void add(String name, int index)
– Here, name is the name of the item added to the list
– The first form adds items to the end of the list
– The second form adds the item at the index specified
by index
– Indexing begins at zero
– You can specify –1 to add the item to the end of the
list
http://improvejava.blogspot.in/ 6
7. Lists contd..
• For lists that allow only single selection you can
determine which item is currently selected by
calling
– either getSelectedItem( )
– or getSelectedIndex( )
– These methods are shown here
• String getSelectedItem( )
• int getSelectedIndex( )
http://improvejava.blogspot.in/ 7
8. Lists contd..
• For lists that allow multiple selection you must
use
– either getSelectedItems( )
– or getSelectedIndexes( )
– They are shown here
• String[ ] getSelectedItems( )
• int[ ] getSelectedIndexes( )
• Given an index, you can obtain the name
associated with the item at that index by calling
– getItem( )
– It has this general form
• String getItem(int index)
http://improvejava.blogspot.in/ 8
9. Handling Lists
// Demonstrate Lists.
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
/*
<applet code="ListDemo" width=300 height=180>
</applet>
*/
public class ListDemo extends Applet implements ActionListener {
List os, browser;
String msg = "";
public void init() {
os = new List(4, true);
browser = new List(4, false);
http://improvejava.blogspot.in/ 9
10. Handling Lists contd..
// add items to os list
os.add("Windows 98/XP");
os.add("Windows NT/2000");
os.add("Solaris");
os.add("MacOS");
// add items to browser list
browser.add("Netscape 3.x");
browser.add("Netscape 4.x");
browser.add("Netscape 5.x");
browser.add("Netscape 6.x");
browser.add("Internet Explorer 4.0");
browser.add("Internet Explorer 5.0");
browser.add("Internet Explorer 6.0");
http://improvejava.blogspot.in/ 10
13. Handling Lists contd..
• Sample output of ListDemo is shown here
Fig. 72.1 Output of ListDemo
http://improvejava.blogspot.in/ 13
14. Scroll Bars
• Scroll bars are used to select continuous values
between a specified minimum and maximum
• Scroll bars may be oriented horizontally or
vertically
• Scroll bars are encapsulated by the Scrollbar
class
http://improvejava.blogspot.in/ 14
15. Scroll Bars contd..
• Scrollbar defines the following constructors
– Scrollbar( )
– Scrollbar(int style)
– Scrollbar(int style, int initialValue, int thumbSize, int min, int max)
• The first form creates a vertical scroll bar
• The second and third forms allow you to specify the
orientation of the scroll bar
• If style is Scrollbar.VERTICAL, a vertical scroll bar is
created
• If style is Scrollbar.HORIZONTAL, the scroll bar is
horizontal
http://improvejava.blogspot.in/ 15
16. Scroll Bars contd..
• In the third form of the constructor, the initial
value of the scroll bar is passed in initialValue
• The number of units represented by the height
of the thumb is passed in thumbSize
• The minimum and maximum values for the scroll
bar are specified by min and max
• setValues( )is used to change the parameters
• The syntax of it is
– void setValues(int initialValue, int thumbSize, int min,
int max)
http://improvejava.blogspot.in/ 16
17. Scroll Bars contd..
• The other methods of interest are
– int getValue( )
– void setValue(int newValue)
– int getMinimum( )
– int getMaximum( )
– void setUnitIncrement(int newIncr)
– void setBlockIncrement(int newIncr)
http://improvejava.blogspot.in/ 17
18. Handling Scroll Bars contd..
• To process scroll bar events, you need to
implement the AdjustmentListener interface
• Example program
// Demonstrate scroll bars.
import java.awt.*;
import java.awt.event.*;
import java.applet.*;
/*
<applet code="SBDemo" width=300 height=200>
</applet>
*/
http://improvejava.blogspot.in/ 18
19. Handling Scroll Bars contd..
public class SBDemo extends Applet
implements AdjustmentListener, MouseMotionListener {
String msg = "";
Scrollbar vertSB, horzSB;
public void init() {
int width = Integer.parseInt(getParameter("width"));
int height = Integer.parseInt(getParameter("height"));
vertSB = new Scrollbar(Scrollbar.VERTICAL,0, 1, 0, height);
horzSB = new Scrollbar(Scrollbar.HORIZONTAL,0, 1, 0, width);
add(vertSB);
add(horzSB);
// register to receive adjustment events
vertSB.addAdjustmentListener(this);
horzSB.addAdjustmentListener(this);
addMouseMotionListener(this);
}
http://improvejava.blogspot.in/ 19
20. Handling Scroll Bars contd..
public void adjustmentValueChanged(AdjustmentEvent ae) {
repaint();
}
// Update scroll bars to reflect mouse dragging.
public void mouseDragged(MouseEvent me) {
int x = me.getX();
int y = me.getY();
vertSB.setValue(y);
horzSB.setValue(x);
repaint();
}
// Necessary for MouseMotionListener
public void mouseMoved(MouseEvent me) {
}
http://improvejava.blogspot.in/ 20
21. Handling Scroll Bars contd..
// Display current value of scroll bars.
public void paint(Graphics g) {
msg = "Vertical: " + vertSB.getValue();
msg += ", Horizontal: " + horzSB.getValue();
g.drawString(msg, 6, 160);
// show current mouse drag position
g.drawString("*", horzSB.getValue(),
vertSB.getValue());
}
}
http://improvejava.blogspot.in/ 21
22. Handling Lists
• Sample output of SBDemo is shown here
Fig. 72.1 Output of SBDemo
http://improvejava.blogspot.in/ 22
23. Summary
• In this class we discussed
– Lists
– Scrollbars
– The related programs
http://improvejava.blogspot.in/ 23
24. Quiz
1. Is it possible to select multiple items in a List
– Yes
– No
http://improvejava.blogspot.in/ 24
25. Frequently Asked Questions
1. Explain the different constructors of a List
2. How to add items to the List ?
3. Write different methods of scrollbar
http://improvejava.blogspot.in/ 25