0% found this document useful (0 votes)
15 views

CSO Gaddis Java Chapter13 6ge

Java mcq questions for summery and revision

Uploaded by

r9hbbykxpc
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
15 views

CSO Gaddis Java Chapter13 6ge

Java mcq questions for summery and revision

Uploaded by

r9hbbykxpc
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 38

Chapter Topics

Chapter 13 discusses the following main topics:


– The Swing and AWT Class Hierarchy
– Read-Only Text Fields
– Lists
– Combo Boxes
– Displaying Images in Labels and Buttons
– Mnemonics and Tool Tips

©2016 Pearson Education, Ltd. 13-0


Chapter Topics
Chapter 13 discusses the following main topics:
– File Choosers and Color Choosers
– Menus
– More about Text Components: Text Areas and
Fonts
– Sliders
– Look and Feel

©2016 Pearson Education, Ltd. 13-0


The Swing and
AWT Class Hierarchy

©2016 Pearson Education, Ltd. 13-0


Read Only Text Fields
• Read only text fields are a different way to use the
JTextField component.
• The JTextField component has a method named
setEditable:
setEditable(boolean editable)

• By default a text field is editable.


• The setEditable method must be called and passed false to
make the field read-only.

©2016 Pearson Education, Ltd. 13-0


©2016 Pearson Education, Ltd.
Using SetText
• setText method used to display data inside text field.

subtotalField.setText("100.00");
taxField.setText("6.00");
totalField.setText("106.00");

• This code causes the text fields to appear as shown

©2016 Pearson Education, Ltd.


Lists
• A list is a component that displays a list of items and
allows the user to select items from the list.
• The JList component is used for creating lists.
• When an instance of the JList class is created, an
array of objects is passed to the constructor.
JList (Object[] array)
• The JList component uses the array to create the list
of items.
String[] names = { "Bill", "Geri", "Greg", "Jean",
"Kirk", "Phillip", "Susan" };
JList nameList = new JList(names);

©2016 Pearson Education, Ltd. 13-0


List Selection Modes
• The JList component can operate in any of the
following selection modes:
– Single Selection Mode - Only one item can be selected at a
time.
– Single Interval Selection Mode - Multiple items can be
selected, but they must be in a single interval. An interval is
a set of contiguous items.
– Multiple Interval Selection Mode - In this mode multiple
items may be selected with no restrictions.
• This is the default selection mode.

©2016 Pearson Education, Ltd. 13-0


List Selection Modes
Single selection mode allows
only one item to be selected
at a time.

Multiple interval selection mode


allows multiple items to be selected
with no restrictions.

Single interval selection mode allows


a single interval of contiguous items
to be selected.

©2016 Pearson Education, Ltd. 13-0


List Selection Modes
• You change a JList component’s selection mode
with the setSelectionMode method.
• The method accepts an int argument that determines
the selection mode:
– ListSelectionModel.SINGLE_SELECTION
– ListSelectionModel.SINGLE_INTERVAL_SELECTION
– ListSelectionModel.MULTIPLE_INTERVAL_SELECTION
• Example:
nameList.setSelectionMode(
ListSelectionModel.SINGLE_SELECTION);

©2016 Pearson Education, Ltd. 13-0


List Events
• When an item in a JList object is selected it generates a list
selection event.
• The event is handled by an instance of a list selection listener
class, which must meet the following requirements:
– It must implement the ListSelectionListener interface.
– It must have a method named valueChanged. This method must take an
argument of the ListSelectionEvent type.
• Use the addListSelectionListener method of the JList
class to register the instance of the list selection listener class with
the list object.

©2016 Pearson Education, Ltd. 13-0


List Events
• When the JList component generates an event:
– It automatically executes the valueChanged
method of the list selection listener object
– It passes the event object as an argument.

©2016 Pearson Education, Ltd. 13-0


Retrieving Selected Items
• You may use:
• getSelectedValue or
• getSelectedIndex
– to determine which item in a list is currently selected.
• getSelectedValue returns a reference to the item that is
currently selected.
String selectedName;
selectedName = (String)nameList.getSelectedValue();

• The return value must be cast to String is required in order to


store it in the selectedName variable.
• If no item in the list is selected, the method returns null.

©2016 Pearson Education, Ltd. 13-0


Retrieving Selected Items
• The getSelectedIndex method returns the index of the
selected item, or –1 if no item is selected.
• Internally, the items that are stored in a list are numbered (similar
to an array).
• Each item’s number is called its index.
• The first item has the index 0.
• You can use the index of the selected item to retrieve the item
from an array.
String[] names = { "Bill", "Geri", "Greg", "Jean",
"Kirk", "Phillip", "Susan" };
JList nameList = new JList(names);

©2016 Pearson Education, Ltd. 13-0


Retrieving Selected Items
• This code could be used to determine the
selected item:
int index;
String selectedName;
index = nameList.getSelectedIndex();
if (index != -1)
selectedName = names[index];

• Example: ListWindow.java (Page 854)

©2016 Pearson Education, Ltd. 13-0


©2016 Pearson Education, Ltd.
Bordered Lists
• The setBorder method can be used to draw a
border around a JList.
monthList.setBorder(
BorderFactory.createLineBorder(Color.black,1));

©2016 Pearson Education, Ltd. 13-0


Adding A Scroll Bar To a List
• By default, a list component is large enough to display
all of the items it contains.
• Sometimes a list component contains too many items to
be displayed at once.
• Most GUI applications display a scroll bar on list
components that contain a large number of items.
• List components do not automatically display a scroll
bar.

©2016 Pearson Education, Ltd. 13-0


Adding A Scroll Bar To a List
• To display a scroll bar on a list component, follow these
general steps.
1. Set the number of visible rows for the list component.
2. Create a scroll pane object and add the list component to it.
3. Add the scroll pane object to any other containers, such as
panels.
• For this list:
String[] names = { "Bill", "Geri", "Greg", "Jean",
"Kirk", "Phillip", "Susan" };
JList nameList = new JList(names);

©2016 Pearson Education, Ltd. 13-0


Adding A Scroll Bar To a List
• Establish the size of the list component.
nameList.setVisibleRowCount(3);
• Create a scroll pane object and add the list component to it.
• A scroll pane object is a container that displays scroll bars on any
component it contains.
• The JScrollPane class to create a scroll pane object.
• We pass the object that we wish to add to the scroll pane as an
argument to the JScrollPane constructor.
JScrollPane scrollPane = new
JScrollPane(nameList);

©2016 Pearson Education, Ltd. 13-0


Adding A Scroll Bar To a List
• Add the scroll pane object to any other containers that
are necessary for our GUI.
JPanel panel = new JPanel();
panel.add(scrollPane);
add(panel);
• When the list component is displayed, it will appear
with:
– Three items showing at a time and
– scroll bars:

©2016 Pearson Education, Ltd. 13-0


Adding A Scroll Bar To a List
• By default, JList components added to a JScrollPane
object only display a scroll bar if there are more items in the list
than there are visible rows.
• When a JList component is added to a JScrollPane
object, a border will automatically appear around the list.
• Example: ListWindowWithScroll.java

©2016 Pearson Education, Ltd. 13-0


Adding Items to an Existing List
• The setListData method allows the adding of
items in an existing JList component.
void setListData(Object[] data)

• This replaces any items that are currently displayed in


the component.
• This can be used to add items to an empty list.

©2016 Pearson Education, Ltd. 13-0


Adding Items to an Existing List
• You can create an empty list by using the JList
component’s no-parameter constructor:
JList nameList = new JList();

• Items can be added to the list:


String[] names = { "Bill", "Geri", "Greg", "Jean",
"Kirk", "Phillip", "Susan" };
nameList.setListData(names);

©2016 Pearson Education, Ltd. 13-0


Single Interval Selection Mode
• A list is set to single interval selection mode by passing the
constant
ListSelectionModel.SINGLE_INTERVAL_SELECTION
to the component’s setSelectionMode method.
• An interval is a set of contiguous items.
• The user selects:
– the first item in the interval by clicking on it
– the last item by holding the Shift key while clicking on it.
• All of the items that appear in the list from the first item through
the last item are selected.

©2016 Pearson Education, Ltd. 13-0


Single Interval Selection Mode
• The getSelectedValue method returns the first item in
the selected interval.
• The getSelectedIndex method returns the index of the
first item in the selected interval.
• To get the entire selected interval, use the
getSelectedValues method.
– This method returns an array of objects, which are the items in the
selected interval.
• The getSelectedIndices method returns an array of int
values that are the indices of all the selected items in the list.

©2016 Pearson Education, Ltd. 13-0


Multiple Interval Selection Mode
• Set multiple interval selection mode by passing the constant
ListSelectionModel.MULTIPLE_INTERVAL_SELECTION
to the component’s setSelectionMode method.
• In multiple interval selection mode:
– multiple items can be selected
– the items do not have to be in the same interval.
• In multiple interval selection mode the user can select single
items or intervals.

©2016 Pearson Education, Ltd. 13-0


Multiple Interval Selection Mode
• The user holds down the Ctrl key while clicking on an item
– it selects the item without deselecting other items.
• The getSelectedValue method returns the first selected
item.
• The getSelectedIndex method returns the index of the
first selected item.
• The getSelectedValues method returns an array of
objects containing the items that are selected.
List<E> getSelectedValuesList
• The int[] getSelectedIndices method returns an int
array containing the indices of the selected items.

©2016 Pearson Education, Ltd. 13-0


Multiple Interval Selection Mode

Example:
MultipleIntervalSelection.java

©2016 Pearson Education, Ltd. 13-0


Combo Boxes
• A combo box presents a drop-down list of items that the user may
select from.
• The JComboBox class is used to create a combo box.
• Pass an array of objects that are to be displayed as the items in the
drop-down list to the constructor.
String[] names = { "Bill", "Geri", "Greg", "Jean",
"Kirk", "Phillip", "Susan" };
JComboBox nameBox = new JComboBox(names);
• When displayed, the combo box created by this code will initially
appear as the button:

©2016 Pearson Education, Ltd. 13-0


Combo Boxes
• The button displays the item that is currently
selected.
• The first item in the list is automatically
selected when the combo box is displayed.
• When the user clicks on the button, the drop-
down list appears and the user may select
another item.

©2016 Pearson Education, Ltd. 13-0


Combo Box Events
• When an item in a JComboBox object is selected, it generates
an action event.
• Handle action events with an action event listener class, which
must have an actionPerformed method.
• When the user selects an item in a combo box, the combo box
executes its action event listener’s actionPerformed
method, passing an ActionEvent object as an argument.

©2016 Pearson Education, Ltd. 13-0


Retrieving Selected Items
• There are two methods in the JComboBox class that can be
used to determine which item in a list is currently selected:
– getSelectedItem
– getSelectedIndex
• The getSelectedItem method returns a reference to the
item that is currently selected.
String selectedName;
selectedName = (String) nameBox.getSelectedItem();

• getSelectedItem returns an Object reference so we cast


the return value to a String.

©2016 Pearson Education, Ltd. 13-0


Retrieving Selected Items
• The getSelectedIndex method returns the index
of the selected item.
String[] names = { "Bill", "Geri", "Greg", "Jean",
"Kirk", "Phillip", "Susan" };
JComboBox nameBox = new JComboBox(names);

• Get the selected item from the names array:


int index;
String selectedName;
index = nameBox.getSelectedIndex();
selectedName = names[index];

©2016 Pearson Education, Ltd. 13-0


Retrieving Selected Items
• Example:
• ComboBoxWindow.java

©2016 Pearson Education, Ltd. 13-0


Editable Combo Boxes
• There are two types of combo boxes:
– uneditable – allows the user to only select items from its list.
– editable – combines a text field and a list.
• It allows the selection of items from the list
• allows the user to type input into the text field
• The setEditable method sets the edit mode for the
component.
String[] names = { "Bill", "Geri", "Greg", "Jean",
"Kirk", "Phillip", "Susan" };
JComboBox nameBox = new JComboBox(names);
nameBox.setEditable(true);

©2016 Pearson Education, Ltd. 13-0


Editable Combo Boxes
• An editable combo box appears as a text field with a small
button displaying an arrow joining it.
• When the user clicks on the button, the drop-down list appears
as shown in the center of the figure.
• The user may:
– select an item from the list.
– type a value into the text field.
• The user is not restricted to the values that appear in the list, and
may type any input into the text field.

©2016 Pearson Education, Ltd. 13-0


Editable Combo Boxes
Note that Sharon is not in the list.

©2016 Pearson Education, Ltd. 13-0

You might also like