290 likes | 313 Views
Learn about Abstract Windowing Toolkit in Java to create interactive GUIs with components like Frame, Panel, Label, and more. Explore events handling and how to create standalone applications.
E N D
Abstract Windowing Toolkit Session 3
Objectives • Describe Abstract Windowing Toolkit (AWT) • Discuss Containers and Components • Frame • Panel • Label • TextFields and TextAreas • Checkboxes and RadioButtons • Choice • Identify events generated by components • Create a standalone AWT application Abstract Windowing Toolkit / 2 of 29
Introduction • These make the language richer in terms of creating graphical objects that can be controlled by the developer as well as the user. • One of the most important outcomes of this is that languages have happened to be GUI based. • In this session we discuss how Java supports GUI features and how they are implemented. • As on date, software applications have become user-friendlier because of introducing graphics in user interfaces Abstract Windowing Toolkit / 3 of 29
Abstract Windowing Toolkit • Abstract Windowing Toolkit (AWT) is a set of Java classes that allow us to create a GUI • AWT provides items which enable creation of an attractive and efficient GUI • Graphical User Interface (GUI) is used to accept input through a keyboard or a mouse Abstract Windowing Toolkit / 4 of 29
Containers • It can be drawn or painted • Container class in the java.awt package directly or indirectly derives two commonly used containers – Frame and Panel • Frame is a separate window and has borders • Panel is an area without borders and is contained within a window • An area that can hold elements Abstract Windowing Toolkit / 5 of 29
Containers - Frame • Can be a component or a container • Can be created using constructors • Some of these constructors are: • Frame() • Creates a Frame which is invisible • Frame(String Title) • Creates an invisible Frame with given title • A window that is independent of an applet and of the browser Abstract Windowing Toolkit / 6 of 29
Example Output Abstract Windowing Toolkit / 7 of 29
Containers - Panel • Simplest way to create a panel is through its constructor Panel( ) • A panel has to be added to a frame • The frame will be visible only when the two methods – setSize( ) and setVisible( ) are set • Used to group a number of components together Abstract Windowing Toolkit / 8 of 29
Example Output Abstract Windowing Toolkit / 9 of 29
Component • Examples include textfields, labels, checkboxes, textareas etc. • Some advanced components include scrollbars, scrollpanes and dialogs • Anything that can be placed on a user interface and can be made visible or resized Abstract Windowing Toolkit / 10 of 29
Hierarchy of classes in Java Component Button Checkbox Container Choice Canvas Label TextComponent Panel Window TextArea TextField Applet Frame Dialog Abstract Windowing Toolkit / 11 of 29
Various components Text field Label Checkbox Radio button Text Area Button Abstract Windowing Toolkit / 12 of 29
Label • Not user-editable • Can be created using one of the following constructors: • Label( ) Creates an empty label • Label(String labeltext) Creates a label with a given text • Label(String labeltext, int alignment) Creates a label with given alignment where alignment can be Label.LEFT, Label.RIGHT or Label.CENTER • Generally used to indicate the purpose of an item Abstract Windowing Toolkit / 13 of 29
Textfield • GUI element used to input text • Generally accepts one line of input • Can be created using one of the following constructors: • Textfield() Creates a new textfield • Textfield(int columns) Creates a new textfield with given number of columns • Textfield(String s) Creates a new textfield with the given string • Textfield(String s, int columns) Creates a new textfield with given string and given number of columns Abstract Windowing Toolkit / 14 of 29
Example Output Abstract Windowing Toolkit / 15 of 29
TextArea • Used when text is to be accepted has two or more lines • Includes a scrollbar • TextArea can be created using some of the following constructors given below: • TextArea( ) Creates a new TextArea • TextArea(int rows, int cols) Creates a new TextArea with given number of rows and columns • TextArea(String text, int rows, int cols) Creates a new TextArea with given string, given number of rows and columns Abstract Windowing Toolkit / 16 of 29
Example Output Abstract Windowing Toolkit / 17 of 29
Button • The easiest way to trap user action • Can create buttons in Java using any of the following constructors • Button() Creates a new Button. • Button(String text) Creates a new Button with the given String • Part of GUI Abstract Windowing Toolkit / 18 of 29
Example Output Abstract Windowing Toolkit / 19 of 29
Checkbox • Checkboxes in Java can be created using constructors. • Some of these constructors are: • Checkbox() Creates an empty textbox • Checkbox(String text) Creates a checkbox with given string as label • Used for multi-option user input that the user may select or deselect by clicking them. Abstract Windowing Toolkit / 20 of 29
Example Output Abstract Windowing Toolkit / 21 of 29
Radiobuttons • Only one button in a radiobutton group can be selected. • First create a CheckboxGroup object • CheckboxGroup cg=new CheckboxGroup(); • Then create each of the radio buttons • Checkbox male=Checkbox(“male”,cg,true); • Checkbox female=Checkbox(“female”,cg,false); • Used as option button to specify choices. Abstract Windowing Toolkit / 22 of 29
Example Output Abstract Windowing Toolkit / 23 of 29
Lists • Displays a list of choices to the user • User may select one or more items • Created using a number of strings or text values • Choice class enables us to create multiple item lists • Choice moviestars=new Choice(); • Add items using the addItem() method • moviestars.addItem(“Antonio Banderas”); • moviestars.addItem(“Leonardo Dicaprio”); Abstract Windowing Toolkit / 24 of 29
Example Output Abstract Windowing Toolkit / 25 of 29
Event handling with components (1) • Event Delegation Model is used to handle events • This process allows the program to register handlers called ‘listeners’ with objects whose events need to be captured • Handlers are automatically called when an event takes place • An event is generated whenever a user clicks a mouse, presses or releases a key Abstract Windowing Toolkit / 26 of 29
Event handling with components (2) • Steps to be followed – • Associate the class with the appropriate listener interface • Identify all components that generate events • Identify all events to be handled • Implement the methods of the listener and write the event handling code within the methods • Event listeners are implemented as interfaces in Java Abstract Windowing Toolkit / 27 of 29
Event handling with components (3) Abstract Windowing Toolkit / 28 of 29
Event handling with components (4) Abstract Windowing Toolkit / 29 of 29