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

CSO Gaddis Java Chapter13 6ge

Java mcq questions for summery and revision

Uploaded by

r9hbbykxpc
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
25 views

CSO Gaddis Java Chapter13 6ge

Java mcq questions for summery and revision

Uploaded by

r9hbbykxpc
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
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