SlideShare a Scribd company logo
Lists and Scrollbars




http://improvejava.blogspot.in/
                                  1
Objectives

On completion of this period, you would be
able to know

• Lists
• Scrollbars




               http://improvejava.blogspot.in/
                                                 2
Recap

In the previous class, you have leant

• Checkbox and CheckboxGroups
• Handling the respective events




                  http://improvejava.blogspot.in/
                                                    3
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
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
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
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
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
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
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
Handling Lists                            contd..

      browser.add("Lynx 2.4");
      browser.select(1);
      // add lists to window
      add(os);
      add(browser);
      // register to receive action events
      os.addActionListener(this);
      browser.addActionListener(this);
}
public void actionPerformed(ActionEvent ae) {
       repaint();
}
             http://improvejava.blogspot.in/             11
Handling Lists                                  contd..

    // Display current selections.
    public void paint(Graphics g) {
             int idx[];
             msg = "Current OS: ";
             idx = os.getSelectedIndexes();
             for(int i=0; i<idx.length; i++)
                        msg += os.getItem(idx[i]) + " ";
             g.drawString(msg, 6, 120);
             msg = "Current Browser: ";
             msg += browser.getSelectedItem();
             g.drawString(msg, 6, 140);
    }
}


                      http://improvejava.blogspot.in/             12
Handling Lists                     contd..


• Sample output of ListDemo is shown here




              Fig. 72.1 Output of ListDemo



                 http://improvejava.blogspot.in/        13
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
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
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
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
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
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
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
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
Handling Lists

• Sample output of SBDemo is shown here




             Fig. 72.1 Output of SBDemo



                http://improvejava.blogspot.in/   22
Summary

• In this class we discussed
  – Lists
  – Scrollbars
  – The related programs




                http://improvejava.blogspot.in/   23
Quiz

1. Is it possible to select multiple items in a List
    – Yes
    – No




                   http://improvejava.blogspot.in/     24
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

More Related Content

PPTX
Java swing
PPTX
Javascript event handler
PPTX
Constructor in java
PPTX
[OOP - Lec 07] Access Specifiers
PPTX
Array in c#
PDF
Class and Objects in Java
PPTX
Data types in c++
Java swing
Javascript event handler
Constructor in java
[OOP - Lec 07] Access Specifiers
Array in c#
Class and Objects in Java
Data types in c++

What's hot (20)

PPTX
java interface and packages
PPT
Java awt
PPTX
Kruskal Algorithm
PPTX
Database Programming
PPTX
PPS
Java Exception handling
PPTX
arrays of structures
PPTX
SQL - Structured query language introduction
PDF
Chapter 02: Classes Objects and Methods Java by Tushar B Kute
PPT
PPTX
Linked list
PPT
Awt controls ppt
PDF
Arrays in python
PDF
PPTX
PPTX
Java Stack Data Structure.pptx
PPTX
Control statements in java
PPT
Unit 4 external sorting
PDF
Data type list_methods_in_python
PPTX
Multithreading in java
java interface and packages
Java awt
Kruskal Algorithm
Database Programming
Java Exception handling
arrays of structures
SQL - Structured query language introduction
Chapter 02: Classes Objects and Methods Java by Tushar B Kute
Linked list
Awt controls ppt
Arrays in python
Java Stack Data Structure.pptx
Control statements in java
Unit 4 external sorting
Data type list_methods_in_python
Multithreading in java
Ad

Similar to Lists and scrollbars (20)

PPTX
Online birth certificate system and computer engineering
PPTX
Unit – I-AWT-updated.pptx
PPT
Text field and textarea
PPTX
Mod_5 of Java 5th module notes for ktu students
PDF
Performing Data Science with HBase
PPT
Labels and buttons
PDF
Deep Dive Into Swift
PPT
Menu bars and menus
PPT
02basics
PDF
Twig tips and tricks
PDF
13 advanced-swing
PDF
JavaScript Robotics
PPTX
Class and Object.pptx from nit patna ece department
PPT
Building Single-Page Web Appplications in dart - Devoxx France 2013
PDF
PPTX
Ifi7184 lesson3
PPTX
AWT stands for Abstract Window Toolkit. AWT is collection of classes and int...
KEY
wwc start-launched
KEY
PTW Rails Bootcamp
PDF
JavaScript(Es5) Interview Questions & Answers
Online birth certificate system and computer engineering
Unit – I-AWT-updated.pptx
Text field and textarea
Mod_5 of Java 5th module notes for ktu students
Performing Data Science with HBase
Labels and buttons
Deep Dive Into Swift
Menu bars and menus
02basics
Twig tips and tricks
13 advanced-swing
JavaScript Robotics
Class and Object.pptx from nit patna ece department
Building Single-Page Web Appplications in dart - Devoxx France 2013
Ifi7184 lesson3
AWT stands for Abstract Window Toolkit. AWT is collection of classes and int...
wwc start-launched
PTW Rails Bootcamp
JavaScript(Es5) Interview Questions & Answers
Ad

More from myrajendra (20)

PPT
Fundamentals
PPT
Data type
PPTX
Hibernate example1
PPTX
Jdbc workflow
PPTX
2 jdbc drivers
PPTX
3 jdbc api
PPTX
4 jdbc step1
PPTX
Dao example
PPTX
Sessionex1
PPTX
Internal
PPTX
3. elements
PPTX
2. attributes
PPTX
1 introduction to html
PPTX
Headings
PPTX
Forms
PPT
PPTX
Views
PPTX
Views
PPTX
Views
PPT
Starting jdbc
Fundamentals
Data type
Hibernate example1
Jdbc workflow
2 jdbc drivers
3 jdbc api
4 jdbc step1
Dao example
Sessionex1
Internal
3. elements
2. attributes
1 introduction to html
Headings
Forms
Views
Views
Views
Starting jdbc

Lists and scrollbars

  • 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
  • 11. Handling Lists contd.. browser.add("Lynx 2.4"); browser.select(1); // add lists to window add(os); add(browser); // register to receive action events os.addActionListener(this); browser.addActionListener(this); } public void actionPerformed(ActionEvent ae) { repaint(); } http://improvejava.blogspot.in/ 11
  • 12. Handling Lists contd.. // Display current selections. public void paint(Graphics g) { int idx[]; msg = "Current OS: "; idx = os.getSelectedIndexes(); for(int i=0; i<idx.length; i++) msg += os.getItem(idx[i]) + " "; g.drawString(msg, 6, 120); msg = "Current Browser: "; msg += browser.getSelectedItem(); g.drawString(msg, 6, 140); } } http://improvejava.blogspot.in/ 12
  • 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