Download presentation
Presentation is loading. Please wait.
Published byGabriel Casey Modified over 9 years ago
1
Swing - 2 Session 13
2
Swing - 2 / 2 of 38 Objectives (1) Discuss trees and tables Discuss progress bars Discuss MVC architecture Describe menus
3
Swing - 2 / 3 of 38 Objectives (2) KeyStroke handling, Action Objects, Nested Containers Virtual Desktops, Compound Borders Drag and Drop Java 2D Customized Dialogs, Standard Dialog classes Discuss features of Swing such as:
4
Swing - 2 / 4 of 38 A Swing menu consists of a menubar, menuitems and menus Menubar is the root of all menus and menuitems Menus show a list of items that indicate various tasks Select or click an option and another list or sub-menu opens up Menus
5
Swing - 2 / 5 of 38 JFC Menus components
6
Swing - 2 / 6 of 38 Hierarchy JMenuBarJPopupMenuJAbstractButtonJSeperator JMenuItem JMenuJCheckBoxMenuItemJRadioButtonMenuItem JComponent Container Component Object
7
Swing - 2 / 7 of 38 JMenuBar Consists of a number of JMenus with each JMenu represented as a string within the JMenuBar JMenuBar requires: ‘SingleSelectionModel’ – keeps track of the menu currently selected ‘LookAndFeel’ class – Responsible for drawing the menu bar and responding to events that occur in it JMenuBar is a component that can be added to a container through a JFrame, JWindow or JInternalFrame’s rootpane.
8
Swing - 2 / 8 of 38 JMenu JMenu has two additional classes: JPopupMenu – Used to display the JMenu’s menu items LookAndFeel – Responsible for drawing the menu in the menubar and for responding to all events that occur in it JMenu is seen as a text string under JMenuBar while it acts as a popup menu when the user clicks on it
9
Swing - 2 / 9 of 38 JMenu - Example Output
10
Swing - 2 / 10 of 38 JPopupMenu Used for the “pull-right” menu It is also used as a shortcut menu, which is activated by the right click of the mouse The constructors used to create JPopupMenu are: public JPopupMenu() – creates a JPopupMenu public JPopupMenu(String label) – creates a JPopupMenu with the specified title Displays expanded form of menu
11
Swing - 2 / 11 of 38 Functions of JPopupMenu Determines whether the mouse event is the popup trigger for the platform public boolean isPopupTrigger() Displays the popup menu at the position (x,y) in the coordinate space of the component “c” public void show(Component c, int x, int y) Creates a new menu item with the specified text and appends it to the end of the menu public JMenuItem add(String s) Appends the specified menu item at the end of the menu public JMenuItem add(JMenuItem menuItem) PurposeMethod
12
Swing - 2 / 12 of 38 JPopupMenu – Example (1)
13
Swing - 2 / 13 of 38 JPopupMenu – Example (2)
14
Swing - 2 / 14 of 38 JPopupMenu – Example (3)
15
Swing - 2 / 15 of 38 JPopupMenu – Example (4) Output
16
Swing - 2 / 16 of 38 JMenuItem A component that appears as a text string possibly with an icon in a JMenu or JPopupMenu Dialog Box JMenuItem dissapears
17
Swing - 2 / 17 of 38 JMenuItem - Example Output
18
Swing - 2 / 18 of 38 JCheckBoxMenuItem Checkboxes are created using JCheckBox class May have a text string and/or an icon When a JCheckBoxMenuItem is clicked and released, the state of a menu item changes to selected or deselected Contains checkboxes as its items
19
Swing - 2 / 19 of 38 JRadioButtonMenuItem May have a text string and/or an icon Clicking a selected radio button does not change its state Clicking an unselected radio button deselects the earlier selected one Similar to checkboxes except that only one radio button can be selected at any point of time
20
Swing - 2 / 20 of 38 Example (1)
21
Swing - 2 / 21 of 38 Example (2)
22
Swing - 2 / 22 of 38 Example (3) Output
23
Swing - 2 / 23 of 38 Trees Windows Explorer has a tree like structure depicting files and folders Windows Explorer structures can be created in Java using JTree Every row in the hierarchy is termed as a node By default, the tree displays the root node A node having child nodes is called a branch node else it is called as a leaf node A Tree depicts information in a hierarchical, vertical manner
24
Swing - 2 / 24 of 38 JTree – Example (1)
25
Swing - 2 / 25 of 38 JTree – Example (2) Output When the nodes are clicked
26
Swing - 2 / 26 of 38 Tables Useful in storing numerical data Certain computer applications require tables to display data allowing the user to edit them JTable class in Swing enables us to create tables JTable does not store data, it only provides a view of it Volumes of data are better maintained in a tabular format than as a list
27
Swing - 2 / 27 of 38 JTable - Example Output
28
Swing - 2 / 28 of 38 Progress Bars A better way to do the same is by using charts or bar graphs Certain programs provide a graphical indication of a task that is currently under progress Swing uses JProgressBar class to implement the same Monitoring the progress of any activity can be done by using percentage figures
29
Swing - 2 / 29 of 38 Progress Bars – Example (1)
30
Swing - 2 / 30 of 38 Progress Bars – Example (2) Output
31
Swing - 2 / 31 of 38 MVC To achieve this, Swing components work within the MVC model MVC model stands for: Model View Controller Swing helps to specify the look and feel, such as the Java look and feel, Windows look and feel
32
Swing - 2 / 32 of 38 Interaction between MVC Model Controller View View reads the contents Informs view of state change Informs the view to update visuals Update the contents
33
Swing - 2 / 33 of 38 Characteristics common to Swing Components Visual appearance - determines what the component should look like Behavior - decides how the component should respond to events Content - decides on the state of the component
34
Swing - 2 / 34 of 38 MVC classes View – Responsible for showing the component on the basis of the state Controller – Handles the event Interaction between the classes are controlled by the MVC pattern Each class has necessary methods defined within them Model – Stores the data or the state of the object
35
Swing - 2 / 35 of 38 MVC - Example Controller Event notification ModelView Calls necessary files to make changes Informs about the change of state Redraws the component
36
Swing - 2 / 36 of 38 Swing features (1) Since the fundamental class JComponent contains a RootPane, any component can be nested within another KeyStrokeHandling, ActionObjects, Nested Containers Keystrokes can be captured by creating a KeyStroke object Action interface extends ActionListener specifying an enabled property as well as properties for text descriptions
37
Swing - 2 / 37 of 38 Swing Features (2) Facilitates transfer of data between Java applications as well as to native applications Virtual Desktops and Compound Borders JDesktopPane and JInternalFrame classes can be used to create a virtual desktop Compound borders are created by combining various border styles Drag and Drop
38
Swing - 2 / 38 of 38 Swing Features (3) Using Java 2D API, one can: Create lines of any thickness Use different gradients and textures to fill shapes Move, rotate, scale and trim text and graphics Combine overlapping text and graphics Customized Dialogs and Standard Dialog classes Makes use of JOptionPane class Standard dialog classes available are: JFileChooser JColorChooser Java 2D
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.