Jaeki Song JAVA Lecture 08 Abstract Windows Toolkit (AWT) and Swing Components.

Slides:



Advertisements
Similar presentations
Chapter 11 Creating User Interfaces F What is JavaBean? F JComponent F JButton  ImageIcon  JLabel  JTextField  JTextArea  JComboBox  JList  JCheckBox.
Advertisements

Graphical User Interfaces (Part IV)
CMSC 341 Building Java GUIs. 09/26/2007 CMSC 341 GUI 2 Why Java GUI Development? Course is about Data Structures, not GUIs. We are giving you the opportunity.
Corresponds with Chapter 12
1 Chapter 13 Creating User Interfaces. 2 Objectives F To create graphical user interfaces with various user-interface components: JButton, JCheckBox,
Liang, Introduction to Java Programming, Seventh Edition, (c) 2009 Pearson Education, Inc. All rights reserved Chapter 16 Creating User Interfaces.
GUI programming AWT(Abstract Windows Toolkit)-GUI components library when Java was introduced AWT was replaced by Swing components import javax.swing.*;
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 15 Creating User.
1 UFCE3T-15-M Object- oriented Design and Programming Block 3 GUI Programming Jin Sa.
CS102--Object Oriented Programming Lecture 19: – The Swing Package (II) Copyright © 2008 Xiaoyan Li.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. 4 th Ed Chapter Chapter 14 GUI and Event-Driven Programming.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved L04 (Chapter 15) Creating.
1 Creating User Interfaces. 2 Motivations A graphical user interface (GUI) makes a system user-friendly and easy to use. Creating a GUI requires creativity.
Chapter 13: Advanced GUIs and Graphics J ava P rogramming: From Problem Analysis to Program Design, From Problem Analysis to Program Design, Second Edition.
Scott Grissom, copyright 2006Ch 11: GUI Slide 1 Graphical User Interfaces (Ch 11) Careful design of a graphical user interface is key to a viable software.
Unit 11 Object-oriented programming: Graphical user interface Jin Sa.
PROGRAMMING REVIEW Lab 2 EECS 448 Dr Fengjun Li and Meenakshi Mishra.
Java Programming Chapter 10 Graphical User Interfaces.
Chapter 13 Advanced GUIs and Graphics. Chapter Objectives Learn about applets Explore the class Graphics Learn about the class Font Explore the class.
Java Programming: From Problem Analysis to Program Design, 4e Chapter 12 Advanced GUIs and Graphics.
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved Chapter 13 Creating User.
Creating User Interfaces F JComponent F JButton F JLabel F JTextField F JTextArea F JComboBox F JList F JCheckBox F JRadioButton F Dialogs.
Applets and Frames CS 21a: Introduction to Computing I First Semester,
Introduction to GUI in Java 1. Graphical User Interface Java is equipped with many powerful,easy to use GUI component such as input and output dialog.
Liang, Introduction to Java Programming, Fifth Edition, (c) 2005 Pearson Education, Inc. All rights reserved
Java Programming: Advanced Topics 1 Common Elements of Graphical User Interfaces Chapter 6.
Chapter 8: Getting Started with Graphics Programming Graphics Class Hierarchy Graphics Class Hierarchy Frames Frames The relationship between frame and.
1 Chapter 10 Getting Started with Graphics Programming F Graphics Class Hierarchy F Frames –Creating frames, centering frames, adding components to frames.
Chapter 9: Creating User Interfaces What is JavaBean? What is JavaBean? JComponent JComponent JButton JButton JLabel JLabel JTextField JTextField JTextArea.
Chapter 13 Creating User Interfaces F What is JavaBeans?  Component and JComponent F JButton  ImageIcon  JLabel  JTextField  JTextArea  JComboBox.
10/24/20151 Java GUI Programming. 10/24/20152 What is a GUI? Java has standard packages for creating custom Graphical User Interfaces Some of the fundamental.
Java Swing. Swing is a set of classes that provides more powerful and flexible components than are possible with the AWT. In addition to the familiar.
1 Outline 1 Introduction 2 Overview of Swing Components 3 JLabel 4 Event Handling 5 TextFields 6 How Event Handling Works 7 JButton 8 JCheckBox and JRadioButton.
Graphic User Interface. Graphic User Interface (GUI) Most of us interact with computers using GUIs. GUIs are visual representations of the actions you.
Chapter 9: Creating User Interfaces What is JavaBean? What is JavaBean? JComponent JComponent Jbutton Jbutton ImageIcon ImageIcon JLabel JLabel JTextField.
Object Oriented programming Instructor: Dr. Essam H. Houssein.
Applets and Frames. Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved L14: GUI Slide 2 Applets Usually.
GUI Basics. What is GUI? A graphical user interface (GUI) is a type of user interface item that allows people to interact with programs in more ways than.
Java Programming Applets. Topics Write an HTML document to host an applet Understand simple applets Use Labels with simple AWT applets Write a simple.
1 / 67 COP 3503 FALL 2012 SHAYAN JAVED LECTURE 14 Programming Fundamentals using Java 1.
Liang, Introduction to Java Programming, Sixth Edition, (c) 2007 Pearson Education, Inc. All rights reserved Chapter 15 Creating User.
Introduction to Java Chapter 9 - Graphical User Interfaces and Applets1 Chapter 9 Graphical User Interfaces and Applets.
GUI Basics. Agenda What GUI How to make in java Creating frames Frequently used GUI components Layout Managers.
Basics of GUI Programming Chapter 11 and Chapter 22.
Chapter 11 Creating User Interfaces
Creating a Window. A basic window in Java is represented by an object of the class Window in the package java.awt.
Java Programming, Second Edition Chapter Thirteen Understanding Swing Components.
Chapter 14: Introduction to Swing Components. Objectives Understand Swing components Use the JFrame class Use the JLabel class Use a layout manager Extend.
Computer Science [3] Java Programming II - Laboratory Course Lab 4 -1 : Introduction to Graphical user interface GUI Components Faculty of Engineering.
1 Layout Managers Layout managers –Provided for arranging GUI components –Provide basic layout capabilities –Processes layout details –Programmer can concentrate.
Event-Driven Programming F Procedural programming is executed in procedural order. F In event-driven programming, code is executed upon activation of events.
Lecture 08 Abstract Windows Toolkit (AWT) and Swing Jaeki Song.
Chapter 10 - Writing Graphical User Interfaces1 Chapter 10 Writing Graphical User Interfaces.
Graphical User Interface (GUI)
1 Lecture 8: User Interface Components with Swing.
Introduction to GUI Programming in Java: Frames, Simple Components, and Layouts.
5-1 GUIs and Events Rick Mercer. 5-2 Event-Driven Programming with Graphical user Interfaces  Most applications have graphical user interfaces to respond.
Getting Started with GUI Programming Chapter 10 CSCI 1302.
CIS 270—Application Development II Chapter 11—GUI Components: Part I.
Dept. of CSIE, National University of Tainan 10/21/2012 Working with Swing.
Java Programming Fifth Edition Chapter 13 Introduction to Swing Components.
GUIs & Event-Driven Programming Chapter 11 Review.
Chapter 8 Getting Started with Graphics Programming Graphics Class Hierarchy Graphics Class Hierarchy Frames Frames  Creating & centering frames, adding.
Object-Orientated Analysis, Design and Programming
Chapter 13: Advanced GUIs and Graphics
Chapter 7 Creating User Interfaces
Chapter 13 Creating User Interfaces
Chapter 10 Getting Started with Graphics Programming
Advanced GUIs and Graphics
Graphical User Interface
Presentation transcript:

Jaeki Song JAVA Lecture 08 Abstract Windows Toolkit (AWT) and Swing Components

Jaeki Song JAVA Outline GUI Interface JAVA Graphics API Event Handling Layout Managers JComponents

Jaeki Song JAVA GUI Interface Web-based application use a graphical user interface (GUI) The graphical components are bundled in a library known as the Abstract Window Toolkit (AWT) –Mapped to the platform-specific components –Heavyweight components

Jaeki Song JAVA Why swing? The appearance and how the user interacts with the program are known as that program’s look and feel. javax.swing API makes the look and feel of GUI the same across platforms (lightweight component)

Jaeki Song JAVA GUI java.lang.Object java.awt.Component java.lang.Container java.swing.JComponent

Jaeki Song JAVA The Java Graphics API AWTEvent Font FontMetrics Component Graphics Object Color Container Panel Applet Frame Dialog Window JComponent JApplet JFrame JDialog Swing Components in the javax.swing package Lightweight Heavyweight Classes in the java.awt package LayoutManager *

Jaeki Song JAVA Java Graphics API Component –A superclass of all user interface classes Container –Used to group components A layout manager is used to position and place components in a container in the desired location and style JComponent –A super class of all the lightweight JFrame –This is a window nor contained inside another window –It is a container that holds another Swing user-interface components

Jaeki Song JAVA Java Graphics API JDialog –A popup window or message box generally used as a temporary window to receive additional information from the user or to provide notification that an event has occurred JApplet –A subclass of Applet –You must extend JApplet to create a Swing-based Java Applet JPanel –An invisible container that holds user-interface components –Panel can be nested

Jaeki Song JAVA Java Graphics API Graphics –An abstract class that provides a graphical context for drawing lines and simple shapes Color –A class deals with the colors of graphics components Font –Usef for drawings in Graphics FontMetrics –An abstract class used to get the properties of the fonts used in drawings

Jaeki Song JAVA Graphic Classes Classification Container classes –JFrame, JPanel, and JApplet Component classes –Subclasses of JComponent JButton, JTextField, JTextArea, JComboBox, JList, JRadioButton, and JMenu Helper classes –Classes used by components and containers to draw and place objects Graphics, Color, Font, FontMetrics, Dimension, and Layout Managers

Jaeki Song JAVA JComponent. JButton JMenuItem JCheckBoxMenuItem AbstractButton JComponent JMenu.JRadioButtonMenuItem.JToggleButton JCheckBox JRadioButton.JComboBox.JInternalFrame.JLayeredPane.JList.JMenuBar.JOptionPane.JPopupMenu.JProgressBar.JPane.JFileChooser.JScrollBar.JScrollPane.JSeparator.JSplitPane.JSlider.JTabbedPane.JTable.JTableHeader.JTextField.JTextComponent.JEditorPane.JTextArea.JToolBar.JToolTip.JTree.JRootPane.JPanel.JPasswordField.JColorChooser.JLabel

Jaeki Song JAVA Frames Frame is a window that is not contained inside another window. Frame is the basis to contain other user interface components in Java graphical applications. The Frame class can be used to create windows.

Jaeki Song JAVA JFrame Two constructors public JFrame ( )  Creates an untitled JFrame object public JFrame( String title)  Create a JFrame object with a specific title JFrame Methods setTitle (String) JFrame myFrame = new JFrame( ) this.setTitle (“ISQS 6337”); or setTitle (“ISQS 6337); setSize (int, int): Specify the frame size setSize (Dimension): sets a JFrame’s size using a Dimension class by calling Dimension(int, int) constructor that creates the object representing the specified width and height arguments String getTitle( ) Returns a JFrame’s title

Jaeki Song JAVA JFrame setVisible (true) –The frame is not visible until setVisible (true) method is applied boolean isResizable( ) –Returns true or false to indicate whether the Frame is resizable setDefaultCloseOperation (Jframe.EXIT_ON_CLOSE) –Tells the program to terminate when the frame is closed

Jaeki Song JAVA Example: Creating JFrame import javax.swing.*; public class MyFrame { public static void main(String[] args) { JFrame frame = new JFrame("Test Frame"); frame.setSize(400, 300); frame.setVisible(true); frame.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE); }

Jaeki Song JAVA Creating Frame By default, a frame is displayed in the upper-left corner of the screen. –To display a frame at a specified location, you can use the setLocation(x, y) method in the JFrame class. This method places the upper- left corner of a frame at location (x, y).

Jaeki Song JAVA Centering Frames screenHeight screenWidth frameHeight frameWidth (x, y) Frame Screen

Jaeki Song JAVA Centering Frames Toolkit class –the abstract superclass of all actual implementations of the AWT –getScreenSize( ) Can be used to obtain screen’s width and height Dimension class –Encapsulates the width and height of a component –get.Size method Get the size of Dimension object Return dimension of the object JFrame –setLocation (x, y)

Jaeki Song JAVA Example CenterFrame

Jaeki Song JAVA Event-Driven Programming An event can be defined as a type of signal to the program that something has happened. –The event is generated by external user actions such as mouse movements, mouse button clicks, and keystrokes, or by the operating system, such as a timer The GUI component on which an event is generated is called the source object –E.g. A button is the source object for a clicking-button action event

Jaeki Song JAVA Event Classes

Jaeki Song JAVA Selected User Actions SourceEvent Type User ActionObjectGenerated Clicked on a button JButtonActionEvent Changed text JTextComponentTextEvent Double-clicked on a list item JListActionEvent Selected or deselected an item JListItemEvent with a single click Selected or deselected an item JComboBoxItemEvent

Jaeki Song JAVA Event Handling Model GUI event information is stored in an object of a class that extends AWTEvent A program performs two key tasks –Event listener An object of a class that implements one or more the event-listener interface from package java.awt.event –Event handler A method that is automatically called in response to a particular type of event

Jaeki Song JAVA Event Handling Model Each event-listener interface specifies one or more event handling methods that must be defined in the class that implements the event-listener interface The use of event listeners is known as the delegation event model

Jaeki Song JAVA The Delegation Model

Jaeki Song JAVA Selected Event Handlers Event ClassListener InterfaceListener Methods (Handlers) ActionEventActionListeneractionPerformed(ActionEvent) ItemEventItemListeneritemStateChanged(ItemEvent) WindowEventWindowListenerwindowClosing(WindowEvent) windowOpened(WindowEvent) windowIconified(WindowEvent) windowDeiconified(WindowEvent) windowClosed(WindowEvent) windowActivated(WindowEvent) windowDeactivated(WindowEvent)

Jaeki Song JAVA Inner Class Classes can be defined inside other classes Inner classes are used mainly in event handling Inner classes with names have the file name OuterClassName$InnerClassName.class Public class A extends B { public class ActionEventHandler implements ActionLister{ public void actionPerformed ( ActionEvent e) { }

Jaeki Song JAVA Anonymous Inner Class Anonymous inner class (class without a name) Anonymous inner class have the file name OuterClassName$#.class –# starts at 1 and is incremented for each anonymous inner class encountered during compilation Window.addWindowListner( new WindowAdapter( ) { public void windowClosing( WindowEvent e) { System.exit(0); } );

Jaeki Song JAVA JLabel A subclass of Jcomponent A label is a display area for a short text, an image, or both. The non-default constructors for labels are as follows: JLabel(String text, int horizontalAlignment) JLabel(String text) JLabel(Icon icon) JLabel(Icon icon, int horizontalAlignment)

Jaeki Song JAVA Text Components Use text component when you want to both display and input information –JTextField Allows only a single line of text –JTextArea Allows multiple lines of text

Jaeki Song JAVA JTextField A text field is an input area where the user can type in characters. –Text fields are useful in that they enable the user to enter in variable data (such as a name or a description). A text field can display information like a label

Jaeki Song JAVA JTextField Constructors JTextField(int columns) –Creates an empty text field with the specified number of columns. JTextField txtName = new JTextField (20); JTextField(String text) –Creates a text field initialized with the specified text. JTextField(String text, int columns) –Creates a text field initialized with the specified text and the column size. JTextField (String, int maximumNumberCharaters)

Jaeki Song JAVA JTextField Methods getText() –Returns the string from the text field. setText(String text) –P uts the given string in the text field. setEditable(boolean editable) –Enables or disables the text field to be edited. By default, editable is true. setColumns(int) –Sets the number of columns in this text field. The length of the text field is changeable.

Jaeki Song JAVA JTextArea If you want to let the user enter multiple lines of text, you cannot use text fields unless you create several of them. The solution is to use JTextArea, which enables the user to enter multiple lines of text.

Jaeki Song JAVA JTextArea Constructors JTextArea( ) –Default constructor Create an empty text area JTextArea(int rows, int columns) –Creates a text area with the specified number of rows and columns. JTextArea(String s, int rows, int columns) –Creates a text area with the initial text and the number of rows and columns specified.

Jaeki Song JAVA JTextArea Method Append method –Allows to add information to the end of the string in a text area –Use append method to build your output as the information becomes available to create multiple lines of output General Format componentName.append(String); Example txaInovice.append(“Sold to:” + strName);

Jaeki Song JAVA Container The onscreen display area has a content pane to which the GUI components must be attached so they can be displayed at execution time The content pane is an object of class Container from the java.awt package Container c = getContentPane(); Declares Container reference c and assigns it the result of a call to Method getContentPane Method getContentPane returns a content pane That can be used to attach GUI components

Jaeki Song JAVA JPanel Panels act as smaller containers for grouping user interface components JPanel p = new JPanel(); Adding component to a JPanel –add method E.g. –add(ComponentName);

Jaeki Song JAVA JButton A button is a component that triggers an action event when clicked. The following are JButton non- default constructors: JButton(String text) JButton(String text, Icon icon) JButton(Icon icon) All button types are subclasses of AbstractButton from javax.swing package –Button types Command buttons, check boxes, and radio buttons A command button gegnerates an ActionEvent –When the user clicks the button with the mouse

Jaeki Song JAVA Responding to JButton Event public void actionPerformed(ActionEvent e) { // Get the button label JoptionPane.showMessageDialog (null, “You pressed: ”+ e.getActionCommnad() ); }

Jaeki Song JAVA Layout Managers Java’s layout managers provide a level of abstraction to automatically map your user interface on all windowing systems. The UI components are placed in containers. Each container has a layout manager to arrange the UI components within the container. –FlowLayout –GridLayout –BorderLayout –CardLayout –GridBagLayout

Jaeki Song JAVA FlowLayout Manager The components are arranged in the container from left to right in the order in which they were added. When one row becomes filled, a new row is started. FlowLayout Constructors –public FlowLayout(int align, int hGap, int vGap) Constructs a new FlowLayout with a specified alignment, horizontal gap, and vertical gap. The gaps are the distances in pixel between components. –public FlowLayout(int alignment) C onstructs a new FlowLayout with a specified alignment and a default gap of five pixels for both horizontal and vertical. –public FlowLayout() Constructs a new FlowLayout with a default center alignment and a default gap of five pixels for both horizontal and vertical.

Jaeki Song JAVA BorderLayout Manager The BorderLayout manager divides the window into five areas: East, South, West, North, and Center. Components are added to a BorderLayout –add(Component, constraint), where constraint is BorderLayout.East, BorderLayout.South, BorderLayout.West", BorderLayout.North", or BorderLayout.Center.

Jaeki Song JAVA GridLayout Manager The GridLayout manager arranges components in a grid (matrix) formation with the number of rows and columns defined by the constructor. The components are placed in the grid from left to right starting with the first row, then the second, and so on.

Jaeki Song JAVA GridLayout Constructors public GridLayout(int rows, int columns) –Constructs a new GridLayout with the specified number of rows and columns. public GridLayout(int rows, int columns, int hGap, int vGap) –Constructs a new GridLayout with the specified number of rows and columns, along with specified horizontal and vertical gaps between components.

Jaeki Song JAVA Example Example 3:Tax Systems Example 4:Inventory Systems Example 5: Add List Example 6: Car Payment System

Jaeki Song JAVA JCheckBox A check box is a component that enables the user to toggle a choice on or off, like a light switch. –JCheckBox constructors JCheckBox(), JCheckBox(String text), JCheckBox(String text, boolean selected), JCheckBox(Icon icon), JCheckBox(String text, Icon icon) JCheckBox(String text, Icon icon, boolean selected)

Jaeki Song JAVA JCheckBox JCheckBox Methods –setLabel (String Label) –getLabel –void setState (boolean condition) Sets the JCheckBox state to true for checked or false for unchecked –boolean getState Requires using ItemListner –Provides for objects whose states change from true of false –Requires itemStateChanged( ) method Example 7: Dental Application

Jaeki Song JAVA JRadioButton Radio buttons are variations of check boxes. They are often used in the group, where only one button is checked at a time. –JRadioButton constructors JRadioButton(), JRadioButton(String text) JRadioButton(String text, boolean selected), JRadioButton(Icon icon) JRadioButton(String text, Icon icon) JRadioButton(String text, Icon icon, boolean selected) Example 8: JRadioButton

Jaeki Song JAVA JComboBox A combo box is a simple list of items from which the user can choose. It performs basically the same function as a list, but can get only one value. To create a choice, use its default constructor: JComboBox() Add items to the list with the addItem( ) method JComboBox ( ) myChoice = new JComboBox ( ); myChoice.addItem (“English”); myChoice.addItem (“Math”);

Jaeki Song JAVA JComboBox JComboBox class method –String getItemAt (int) : Returns the text of the list item at the index position specified by the integer argument –String getSelectedItem( ): returns the text of the currently selected item –Int getItemCount( ): returns the number of items in the list –Int getSelectedIndex( ): returns the item in the list that matches the given item –void setMaximumRowCount (int): sets the maximum number of combo box rows that are displayed at one time

Jaeki Song JAVA JComboBox Treat items as an array –Use the getSelectedIndex( ) method to determine the list position of the currently selected item –E.g. String course [ ] = { “English”, “History”, “Math”} int choice = myChoice.getSelectedIndex( ); Example 09: JComboBox

Jaeki Song JAVA JScrollPane When components in a Swing GUI are bigger than the area available to display them, you can add a scroll pane container Common to add a JTextArea component to scroll pane container –It allows you to use both multiple rows and columns Constructors –JScrollPane( ) Creates where both horizontal and vertical scrollbars when needed –JScrollPane(Component) Creates a JScrollPane that displays the contents of the specified component E.g JTextArea output = new JTextArea( )’ JScrollPane scroll = new JScrollPane (output);

Jaeki Song JAVA JScrollPane The horizontal and vertical scrollbars will appear if they are needed –User control of the horizontal and vertical scrollbar configuration is achieved by using class variable of the ScrollPaneConstants class. HORIZONTAL_SCROLLBAR_AS_NEEDED HORIZONTAL_SCROLLBAR_ALWAYS HORIZONTAL_SCROLLBAR_NEVER VERTICAL_SCROLLBAR_AS_NEEDED VERTICAL_SCROLLBAR_ALWAYS JTextArea output = new JTextArea (10,40); JScrollPane myScroll = new JScrollPane (output, VERTICAL_SCROLLBAR_ALWAYS, HORIZONTAL_SCROLLBASR_NEVER);

Jaeki Song JAVA JToolBars A swing GUI can be designed so that a user can move a toolbar from one section of a GUI to another section –This type of a toolbar is called a dockable toolbar The process that allows you to move and then attach the toolbar is called docking java.lang.Object java.awt.Container javax.swing.JComponent javax.swing.JToolBar

Jaeki Song JAVA JToolBar Constructor –JToolBar( ) Creates a new toolbar that will line up components in a horizontal direction –JToolBar( int) Creates a new toolbar with a specified orientation of horizontal or vertical –You can use the HORIZONTAL and VERTICAL constants from the SwingConstants class to explicitly set the orientation –E.g. JToolBar myBar = new JToolBar (SwingConstants.VERTICAL); Example 10: JToolBar

Jaeki Song JAVA JList A list is a component that enables you to choose one or more items JList is the Swing component and functionally it is similar to JCheckBox and JRadioButton, but the selectable items are placed in a list and are chosen by clikcing on the items themselves Example 11: JList

Jaeki Song JAVA Menus Java provides several classes— JMenuBar, JMenu, JMenuItem, JCheckBoxMenuItem, and JRadioButtonMenuItem —to implement menus in a frame A JFrame or JApplet can hold a menu bar to which the pull-down menus are attached. Menus consist of menu items that the user can select (or toggle on or off). Menu bars can be viewed as a structure to support menus.

Jaeki Song JAVA Menu Demo

Jaeki Song JAVA The JMenuBar Class A menu bar holds menus; the menu bar can only be added to a frame. Following is the code to create and add a JMenuBar to a frame: JFrame f = new JFrame(); f.setSize(300, 200); f.setVisible(true); JMenuBar mb = new JMenuBar(); f.setJMenuBar(mb);

Jaeki Song JAVA The Menu Class You attach menus onto a JMenuBar. The following code creates two menus, File and Help, and adds them to the JMenuBar mb : JMenu fileMenu = new JMenu("File"); JMenu helpMenu = new JMenu("Help"); mb.add(fileMenu); mb.add(helpMenu);

Jaeki Song JAVA The JMenuItem Class You add menu items on a menu. The following code adds menu items and item separators in menu fileMenu : fileMenu.add(new JMenuItem("new")); fileMenu.add(new JMenuItem("open")); fileMenu.add(new JMenuItem("-")); fileMenu.add(new JMenuItem("print")); fileMenu.add(new JMenuItem("exit")); fileMenu.add(new JMenuItem("-"));

Jaeki Song JAVA Submenus You can add submenus into menu items. The following code adds the submenus “Unix,” “NT,” and “Win95” into the menu item “Software.” JMenu softwareHelpSubMenu = new JMenu("Software"); JMenu hardwareHelpSubMenu = new JMenu("Hardware"); helpMenu.add(softwareHelpSubMenu); helpMenu.add(hardwareHelpSubMenu); softwareHelpSubMenu.add(new JMenuItem("Unix")); softwareHelpSubMenu.add(new JMenuItem("NT")); softwareHelpSubMenu.add(new JMenuItem("Win95"));

Jaeki Song JAVA Submenu Demo Example 12: JMemu