AWT Components. 2 Using AWT Components 4 Component –Canvas –Scrollbar –Button –Checkbox –Label –List –Choice –TextComponent –TextArea –TextField 4 Component.

Slides:



Advertisements
Similar presentations
Chapter 13 Graphics.
Advertisements

Custom Painting Gestione della Grafica customizzata Vedi anche:
1 Graphical User Interface (GUI) Applications Abstract Windowing Toolkit (AWT) Events Handling Applets.
Applets and Graphics.
Java GUI building with the AWT. AWT (Abstract Window Toolkit) Present in all Java implementations Described in (almost) every Java textbook Adequate for.
Chapter 15 Graphics. To paint, you need to specify where to paint. Each component has its own coordinate system with the origin (0, 0) at the upper-left.
Objectives The objectives of this chapter are: To discuss the classes present in the java.awt package To understand the inheritance hierarchy of the AWT.
GUI Elements Session 17. Memory Upload Layout Components Button TextField TextArea Label Choice Containers Panels The applet itself.
Copyright 2006 by Pearson Education 1 Building Java Programs Supplement 3G: Graphics.
2D Graphics Drawing Things. Graphics In your GUI, you might want to draw graphics E.g. draw lines, circles, shapes, draw strings etc The Graphics class.
Graphical User Interfaces
Web Design & Development Lecture 19. Java Graphics 2.
CSE 1341 Honors Professor Mark Fontenot Southern Methodist University Note Set 21.
Graphical User Interfaces Java’s AWT and Swing APIs.
Java Software Development Paradigm Lecture # 12. Basics of GUI.
Laboratory Study II October, Java Programming Assignment  Write a program to calculate and output the distance traveled by a car on a tank of.
Graphics You draw on a Graphics object The Graphics object cannot directly be created by your code, instead one is generated when the method paintComponent.
Graphics Chapter 16.  If you want to draw shapes such as a bar chart, a clock, or a stop sign, how do you do it?
PHY-102 SAPIntroductory GraphicsSlide 1 Introductory Graphics In this section we will learn how about how to draw graphics on the screen in Java:  Drawing.
Zhang & Liang, Computer Graphics Using Java 2D and 3D (c) 2007 Pearson Education, Inc. All rights reserved. 1 Chapter 2 2D Graphics: Basics.
LAB SESSION 7 Graphical user interface Applet fundamentals Methods in applets Execution of an applet Graphics class.
Graphics CSCI 201L Jeffrey Miller, Ph.D. HTTP :// WWW - SCF. USC. EDU /~ CSCI 201 USC CSCI 201L.
Problem Solving 6 GUIs and Event Handling ICS-201 Introduction to Computing II Semester 071.
1 Drawing C Sc 335 Object-Oriented Programming and Design Rick Mercer.
Georgia Institute of Technology Drawing in Java – part 2 Barb Ericson Georgia Institute of Technology September 2005.
CSC1401 Drawing in Java - 2. Reminder from last class How do you save your modified picture? String filename = …; Picture stevePicture = new Picture(filename);
Graphical User Interface Bonus slides Interaction Between Components & Drawing.
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.
Övning 5. Repetition klasser class Rektangel { private static int antal = 0; private double längd; private double bredd; public Rektangel(double l, double.
Java Graphics Section 1 - Multi-File Graphics Programs Section 2 - The Coordinate System and Graphics Context g Section 3 - The Java Drawing and Painting.
Jan AWT Widgets Yangjun Chen Dept. Business Computing University of Winnipeg.
Advanced Java Class GUI – part 1. Intro to GUI GUI = Graphical User Interface -- “Gooey” Just because it’s “gooey” does not mean you may write messy code.
CS3157 Java UI Recitation. Material Covered: Overview of AWT components, Event Handling, creating applets, and sample UI. Not covered in recitation: Drawing,
Jan Containers Yangjun Chen Dept. Business Computing University of Winnipeg.
Unit 11 Object-oriented programming: Graphical user interface Jin Sa.
AWT Components (Chapter 9) Java Certification Study Group January 21, 1999 Mark Roth.
Applets and Frames CS 21a: Introduction to Computing I First Semester,
CSE 219 Computer Science III Images. HW1 Has been posted on Blackboard Making a Game of Life with limited options.
Introduction to Java Applet Programs Section 1.3Intro. to Java Applet Programs: a Greeter Applet Section 3.7Graphical/Internet Java: Applet: An Einstein.
Graphical User Interface CSI 1101 N. El Kadri. Plan - agenda Graphical components Model-View-Controller Observer/Observable.
Java Programming 1 Java Programming II Events, AWT, and Swing.
Abstract Window Toolkit (AWT) The Abstract Window Toolkit (AWT) supports Graphical User Interface (GUI) programming. AWT features include:  A rich set.
MCA-401: ADVANCED JAVA PROGRAMMING 1DEPTT. OF COMP. SC & APPLICATIONS PREPARED BY : NAVEEN NAGPAL (SENIOR ASSISTANT PROFESSOR)
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.
Lecture 8.3 The Use of JComponent. © 2006 Pearson Addison-Wesley. All rights reserved More About the Standard Drawing Classes java.awt.Container.
Graphics and Event-Driven Programming in Java John C. Ramirez Department of Computer Science University of Pittsburgh.
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.
(C) 2010 Pearson Education, Inc. All rights reserved.  Class Graphics (from package java.awt) provides various methods for drawing text and shapes onto.
The Abstract Window Toolkit (AWT) supports Graphical User Interface (GUI) programming. AWT features include: a rich set of user interface components; a.
9.1 Java Packages A collection of classes Allows classes to be grouped arbitrarily Hierarchical structure independent of inheritance Classes can.
1 GUIs, Layout, Drawing Rick Mercer. 2 Event-Driven Programming with Graphical user Interfaces  Most applications have graphical user interfaces (GUIs)
Painting (Chapter 12) Java Certification Study Group January 25, 1999 Mark Roth.
Csc Basic Graphical User Interface (GUI) Components.
CSI 3125, Preliminaries, page 1 AWT. CSI 3125, Preliminaries, page 2 AWT Java AWT (Abstract Windowing Toolkit) is an API to develop GUI or window-based.
AWT Layout Managers (Chapter 10) Java Certification Study Group January 21, 1999 Mark Roth.
Graphical User Interface (GUI) Two-Dimensional Graphical Shapes.
1 Java and AWT CPS 470 Spring 1998 Laura Campbell.
Getting Started with GUI Programming Chapter 10 CSCI 1302.
GUI Lecture 10 Intro to GUI GUI = Graphical User Interface -- “Gooey” Just because it’s “gooey” does not mean you may write messy code. GUI is the “view.
Advanced GUIs II CS Lecture
Course Outcomes of Advanced Java Programming AJP (17625, C603)
Java Swing.
AWT Components.
AWT.
4.14 GUI and Graphics Case Study: Creating Simple Drawings (Cont.)
AWT Components and Containers
LayoutManagers The LayoutManagers are used to arrange components in a particular manner. LayoutManager is an interface that is implemented by all the classes.
AWT Components Java AWT components are platform-dependent i.e. components are displayed according to the view of operating system. AWT is heavyweight i.e.
Objectives The objectives of this chapter are:
Advanced GUIs II CS Lecture
Presentation transcript:

AWT Components

2 Using AWT Components 4 Component –Canvas –Scrollbar –Button –Checkbox –Label –List –Choice –TextComponent –TextArea –TextField 4 Component –Container Panel Window –Dialog »FileDialog –Frame 4 MenuComponent –MenuItem Menu

Frame import java.awt.*; public class TestFrame extends Frame { public TestFrame(String title){ super(title); } public static void main(String[] args){ Frame f = new TestFrame("TestFrame"); f.setSize(400,400); f.setLocation(100,100); f.show(); }

5 How to Use Buttons? public class TestButton extends Frame { public TestButton(String title){ super(title); Button hw = new Button("Hello World!"); add(hw); } …. }

How to Use Labels? public class TestLabel extends Frame { public TestLabel(String title){ super(title); Label label1 = new Label(); label1.setText("Label1"); Label label2 = new Label("Label2"); label2.setAlignment(Label.CENTER); Label label3 = new Label("Label3"); add(label1,"North"); add(label2,"Center"); add(label3,"South"); }

7 How to Use Checkboxes? public class TestCheckbox extends Frame { public TestCheckbox(String title){ super(title); CheckboxGroup cbg = new CheckboxGroup(); Checkbox cb1 = new Checkbox("American Express",cbg,false); Checkbox cb2 = new Checkbox("Visa",cbg,false); Checkbox cb3 = new Checkbox("Mastercard",cbg,true); add(cb1,"North"); add(cb2,"Center"); add(cb3,"South"); } … }

8 How to Use Choices? public class TestChoice extends Frame { public TestChoice(String title){ super(title); Choice choice = new Choice(); choice.add("ichi"); choice.add("ni"); choice.add("san"); add(choice); }

How to Use TextField & TextArea public class TestText extends Frame { public TestText(String title){ super(title); TextField textField = new TextField(20); TextArea textArea = new TextArea(5, 20); textArea.setEditable(false); textField.setText("TextField"); textArea.setText("TextArea Line1 \n TextArea Line2"); add(textField,"North"); add(textArea,"South"); } … }

10 How to Use Lists? public class TestList extends Frame { public TestList(String title){ super(title); List l = new List(2, true); //prefer 2 items visible l.add("zero"); l.add("uno"); l.add("dos"); l.add("tres"); l.add("cuatro"); l.add("cinco"); l.add("seis"); l.add("siete"); l.add("ocho"); l.add("nueve"); add(l); }

11 How to Use Menus? public class TestMenu extends Frame { public TestMenu(String title){ super(title); MenuBar mb = new MenuBar(); setMenuBar(mb); Menu m1 = new Menu("Menu 1"); mb.add(m1); MenuItem mi1_1 = new MenuItem("Menu Item 1_1"); m1.add(mi1_1); m1.addSeparator(); MenuItem mi1_2 = new MenuItem("Menu Item 1_2"); m1.add(mi1_2); Menu m2 = new Menu("Menu 2"); // mb.add(m2); m1.add(m2); MenuItem mi2_1 = new CheckboxMenuItem("Menu Item 2_1"); m2.add(mi2_1); } …

12 How to Use Canvases and Graphics Primitives? 4 For drawing geometric shapes, texts, and images 4 An abstract class –the extended class must override paint() Oval Rectangle Arc Line RoundRectangle Polygon

13 drawLine(x1,y1,x2,y2) class MyCanvas extends Canvas { public void paint(Graphics g){ g.setColor(Color.blue); int x1 = 161, y1 = 186, x2 = 181, y2 = 206; g.drawLine(x1,y1,x2,y2); } (x1,y1) (x2,y2)

14 fillOval(x,y,w,h) drawOval(x,y,w,h) g.setColor(Color.blue); { int x = 239, y = 186, w = 48, h = 32; g.fillOval(x,y,w,h); }

fillPolygon(int[] xs, int[] ys) drawPolygon(int[] xs, int[] ys) g.setColor(Color.green); { int xs[] = {161,161,185,209,185,161}; int ys[] = {310,334,358,334,310,310}; g.fillPolygon(xs,ys,6); }

fillRect(x,y,w,h) drawRect(x,y,w,h) g.setColor(Color.pink); { int x = 239, y = 248, w = 48, h = 32; g.fillRect(x,y,w,h); }

fillRoundRect(x,y,w,h,rw,rh) drawRoundRect(x,y,w,h,rw,rh) g.setColor(Color.yellow); { int x = 161, y = 248, w = 48, h = 32, roundW = 25, roundH = 25; g.fillRoundRect(x,y,w,h,roundW,roundH); }

fillArc(x,y,w,h,sa,a) drawArc(x,y,w,h,sa,a) g.setColor(Color.orange); { int x = 239, y = 310, w = 48, h = 48, startAngle = 20, angle = 90; g.fillArc(x,y,w,h,startAngle,angle); }

drawString(s,x,y) FontMetrics (x,y)

drawString, Font, & FontMetrics class MyCanvas extends Canvas { public void paint(Graphics g){ g.setFont(new Font("Dialog",0,20)); FontMetrics fm = g.getFontMetrics(); int x = 100; int y = 100; g.drawString("Hello",x,y); y = y+fm.getHeight(); g.drawString("World",x,y); }

drawImage(image,x,y,w,h,ob) Image im = Toolkit.getDefaultToolkit().getImage(name); g.drawImage(im, x, y, w, h, observer);

drawImage public class TestImage extends Frame { Image im; public TestImage(String title){ super(title); im = Toolkit.getDefaultToolkit().getImage("jp2.jpg"); if (im==null){ System.out.println("No image"); System.exit(0); } public void paint(Graphics g){ g.drawImage(im,0,0,im.getHeight(this),im.getWidth(this),this); } … }

Layout of Components 4 BorderLayout –north, south, west, east & center 4 FlowLayout –left to right & top down 4 CardLayout –stack of panels 4 GridLayout –tabular form (rows & columns) 4 GridBagLayout –tabular form(variable row heights and column widths)

Use Layout Managers 4 Default layout managers –Windows (Frames & Dialogs) BorderLayout –Panels (Applets) FlowLayout setLayout(new BorderLayout()); setLayout(new CardLayout(()); setLayout(new FlowLayout()); setLayout(new GridLayout(rows,columns,xgap,ygap));

How to Use BorderLayout? import java.awt.*; public class TestBorderLayout { public static void main(String[] args){ Frame f = new Frame("TestBorderLayout"); f.setSize(200,200); f.add("North", new Button("North")); f.add("South", new Button("South")); f.add("East", new Button("East")); f.add("West", new Button("West")); f.add("Center", new Button("Center")); f.setVisible(true); }

How to Use FlowLayout? import java.awt.*; public class TestFlowLayout { public static void main(String[] args){ Frame f = new Frame("TestFlowLayout"); f.setSize(200,200); f.setLayout(new FlowLayout()); f.add(new Button("Button 1")); f.add(new Button("Button 2")); f.add(new Button("Button 3")); f.add(new Button("Button 4")); f.add(new Button("Button 5")); f.setVisible(true); }

How to Use CardLayout? import java.awt.*; public class TestCardLayout { public static void main(String[] args){ Frame f = new Frame("TestCard Layout"); f.setSize(200,200); f.setLayout(new CardLayout()); f.add("GraphicsPanel",new GraphicsPanel()); f.add("LabelPanel",new LabelPanel()); f.add("ButtonPanel",new ButtonPanel()); f.setVisible(true); }

How to Use GridLayout? import java.awt.*; public class TestGridLayout { public static void main(String[] args){ Frame f = new Frame("TestGridLayout"); f.setSize(200,200); f.setLayout(new GridLayout(2,3)); f.add(new Button("Button 1")); f.add(new Button("Button 2")); f.add(new Button("Button 3")); f.add(new Button("Button 4")); f.add(new Button("Button 5")); f.setVisible(true); }