SlideShare a Scribd company logo
1 of 25
Rakesh Ravaso Patil
Dept. of Computer Engg.
T.E. „B‟ 12276
Overview…
 Introduction to AWT
    Swing vs. AWT
 Building GUI
 Component Hierarchy
 AWT Control Fundamentals
 Adding Components
 Arranging Components
 Overview of Event Handling
 Working with Graphics
 Conclusion
AWT (Abstract Window Toolkit)
 Present in all Java implementations

 Adequate for many applications

 Uses the controls defined by your OS

 Difficult to build an attractive GUI

 import java.awt.*;
 import java.awt.event.*;
Swing
 Same concepts as AWT
 Doesn‟t work in ancient Java implementations (Java
  1.1 and earlier)
 Many more controls, and they are more flexible
   Some controls, but not all, are a lot more complicated
 Gives a choice of “look and feel” packages
 Much easier to build an attractive GUI
 import javax.swing.*;
Swing vs. AWT
 Swing is bigger, slower, and more complicated
    But not as slow as it used to be
 Swing is more flexible and better looking
 Swing and AWT are incompatible--you can use
 either, but you can‟t mix them
   Actually, you can, but it‟s tricky and not worth doing
 Learning the AWT is a good start on learning Swing
 Many of the most common controls are just renamed
    AWT: Button b = new Button ("OK");
    Swing: JButton b = new JButton("OK");
To build a GUI...
 Create some Components, such as buttons, text
  areas, panels, etc.
 Add your Components to your display area
 Arrange, or lay out, your Components
 Attach Listeners to your Components
   Interacting with a Component causes an Event to occur
   A Listener gets a message when an interesting event
    occurs, and executes some code to deal with it
An Applet is Panel is Container
java.lang.Object
  |
  +----java.awt.Component
       |
       +----java.awt.Container
           |
           +----java.awt.Panel
                |
                +----java.applet.Applet
  …so you can display things in an Applet
Example: A "Life" applet
               Container (Applet)

               Containers (Panels)


                Component (Canvas)


                Components (Buttons)


                Components (TextFields)

                Components (Labels)
Some types of components
   Label           Button             Checkbox




  Choice                                          Scrollbar


TextField   List                                  TextArea


 Button




                       Checkbox   CheckboxGroup
Creating components
 Label lab = new Label ("Hi, Dave!");
 Button but = new Button ("Click me!");
 Checkbox toggle = new Checkbox ("toggle");
 TextField txt =
    new TextField ("Initial text.", 20);
 Scrollbar scrolly = new Scrollbar
   (Scrollbar.HORIZONTAL, initialValue,
    bubbleSize, minValue, maxValue);
Adding components to the Applet
  class MyApplet extends Applet {
     public void init () {
      add (lab); // same as this.add(lab)
      add (but);
      add (toggle);
      add (txt);
      add (scrolly);
      ...
Arranging components
 Every Container has a layout manager
 The default layout for a Panel is FlowLayout
 An Applet is a Panel
 Therefore, the default layout for a Applet is
  FlowLayout
 You could set it explicitly with
    setLayout (new FlowLayout( ));
 You could change it to some other layout manager
Flow Layout
 Use add(component); to add to a
    component when using a
    FlowLayout
   Components are added left-to-right
   If no room, a new row is started
   Exact layout depends on size of
    Applet
   Components are made as small as
    possible
   FlowLayout is convenient but often
    ugly
BorderLayout
 At most five components
  can be added
 If you want more
  components, add a
 Panel, then add
 components to it.
•setLayout (new BorderLayout());
GridLayout
 The GridLayout
  manager divides the
  container up into a
  given number of rows
  and columns:
 new GridLayout(rows,
  columns)

•All sections of the grid are equally sized and as
large as possible
Making components active
 Most components already appear to do something--
  buttons click, text appears
 To associate an action with a component, attach a
  listener to it
 Components send events, listeners listen for events
 Different components may send different events, and
  require different listeners
Listeners
 Listeners are interfaces, not classes
    class MyButtonListener implements
          ActionListener {
 An interface is a group of methods that must be
  supplied
 When you say implements, you are promising to
  supply those methods
Writing a Listener
 For a Button, you need an ActionListener

    b1.addActionListener
       (new MyButtonListener ( ));

 An ActionListener must have an
 actionPerformed(ActionEvent) method

    public void actionPerformed(ActionEvent e) {
      …
    }
Listeners for TextFields
 An ActionListener listens for someone hitting the
  Enter key
 An ActionListener requires this method:
    public void actionPerformed (ActionEvent e)
 You can use getText( ) to get the text

 A TextListener listens for any and all keys
 A TextListener requires this method:
    public void textValueChanged(TextEvent e)
Working With Graphics
                Circle               Triangle
   Rounded
   Rectangle   Arc

                                        Ellipse




                         Rectangle
 Lines
Working with Graphics
 void drawLine(int x1, int y1, int x2, int y2)
 void drawRect(int top, int left, int width, int height)
 void drawRoundRect(int top, int left,int width, int
            height, int xDiam, int yDiam)
 void drawOvel(int top, int left, int width, int height)
 void drawArc(int top, int left, int width,int height, int
            startAngle, int sweepAngle)
 void drawPoly(int x[], int y[], int numPoints)

 void fill….
Format Shape
 Working with colors
   HSB
   RGB
   static int HSBtoRGB(float hue, float saturation, float
                                         brightness)
   Static float[] RGBtoHSB(int red, int green, int blue,
                                         float value[])
 Working with Fonts
   Font(String fontName, int fontStyle, int pointSize)
Summary : Building a GUI
 Create a container, such as Frame or Applet
 Choose a layout manager
 Create more complex layouts by adding Panels; each
  Panel can have its own layout manager
 Create other components and add them to whichever
  Panels you like
 For each active component, look up what kind of
  Listeners it can have
 Create (implement) the Listeners
   often there is one Listener for each active component
Summary: Building a GUI
 For each Listener you implement, supply the
  methods that it requires
 For Applets, write the necessary HTML
 Graphics
   Drawing Lines
   Drawing Rectangles
   Drawing Ellipse and Circles
   Drawing Polygons
 Color schemes and Fonts
Awt

More Related Content

What's hot

What's hot (20)

Collection Framework in java
Collection Framework in javaCollection Framework in java
Collection Framework in java
 
Swing and AWT in java
Swing and AWT in javaSwing and AWT in java
Swing and AWT in java
 
GUI components in Java
GUI components in JavaGUI components in Java
GUI components in Java
 
Android activity lifecycle
Android activity lifecycleAndroid activity lifecycle
Android activity lifecycle
 
Awt, Swing, Layout managers
Awt, Swing, Layout managersAwt, Swing, Layout managers
Awt, Swing, Layout managers
 
Java awt (abstract window toolkit)
Java awt (abstract window toolkit)Java awt (abstract window toolkit)
Java awt (abstract window toolkit)
 
STRUCTURE OF SQL QUERIES
STRUCTURE OF SQL QUERIESSTRUCTURE OF SQL QUERIES
STRUCTURE OF SQL QUERIES
 
JAVA AWT
JAVA AWTJAVA AWT
JAVA AWT
 
SQL JOIN
SQL JOINSQL JOIN
SQL JOIN
 
Event Handling in java
Event Handling in javaEvent Handling in java
Event Handling in java
 
Design Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software EngineeringDesign Model & User Interface Design in Software Engineering
Design Model & User Interface Design in Software Engineering
 
Java applets
Java appletsJava applets
Java applets
 
Java: GUI
Java: GUIJava: GUI
Java: GUI
 
Awt controls ppt
Awt controls pptAwt controls ppt
Awt controls ppt
 
Java RMI
Java RMIJava RMI
Java RMI
 
Jsp element
Jsp elementJsp element
Jsp element
 
Windows form application - C# Training
Windows form application - C# Training Windows form application - C# Training
Windows form application - C# Training
 
Server Controls of ASP.Net
Server Controls of ASP.NetServer Controls of ASP.Net
Server Controls of ASP.Net
 
Java layoutmanager
Java layoutmanagerJava layoutmanager
Java layoutmanager
 
Java Collections
Java  Collections Java  Collections
Java Collections
 

Viewers also liked

Viewers also liked (14)

Bluetooth - Overview
Bluetooth - OverviewBluetooth - Overview
Bluetooth - Overview
 
Bluetooth wi fi wi max 2, 3
Bluetooth wi fi wi max 2, 3Bluetooth wi fi wi max 2, 3
Bluetooth wi fi wi max 2, 3
 
Bluetooth
BluetoothBluetooth
Bluetooth
 
software project management Waterfall model
software project management Waterfall modelsoftware project management Waterfall model
software project management Waterfall model
 
Bluetooth technology
Bluetooth technologyBluetooth technology
Bluetooth technology
 
Visibility control in java
Visibility control in javaVisibility control in java
Visibility control in java
 
Classical problem of synchronization
Classical problem of synchronizationClassical problem of synchronization
Classical problem of synchronization
 
Access modifiers in java
Access modifiers in javaAccess modifiers in java
Access modifiers in java
 
Wi-Fi vs Bluetooth
Wi-Fi vs BluetoothWi-Fi vs Bluetooth
Wi-Fi vs Bluetooth
 
Waterfall Model
Waterfall ModelWaterfall Model
Waterfall Model
 
Java access modifiers
Java access modifiersJava access modifiers
Java access modifiers
 
Waterfall model ppt final
Waterfall model ppt  finalWaterfall model ppt  final
Waterfall model ppt final
 
Waterfall model
Waterfall modelWaterfall model
Waterfall model
 
Wi-Fi Technology
Wi-Fi TechnologyWi-Fi Technology
Wi-Fi Technology
 

Similar to Awt (20)

25 awt
25 awt25 awt
25 awt
 
28 awt
28 awt28 awt
28 awt
 
GUI (graphical user interface)
GUI (graphical user interface)GUI (graphical user interface)
GUI (graphical user interface)
 
Windows Programming with AWT
Windows Programming with AWTWindows Programming with AWT
Windows Programming with AWT
 
Gui
GuiGui
Gui
 
Ajp notes-chapter-01
Ajp notes-chapter-01Ajp notes-chapter-01
Ajp notes-chapter-01
 
GUI.pdf
GUI.pdfGUI.pdf
GUI.pdf
 
Ingles 2do parcial
Ingles   2do parcialIngles   2do parcial
Ingles 2do parcial
 
Java swing
Java swingJava swing
Java swing
 
Unit-1 awt advanced java programming
Unit-1 awt advanced java programmingUnit-1 awt advanced java programming
Unit-1 awt advanced java programming
 
tL19 awt
tL19 awttL19 awt
tL19 awt
 
Ajp notes-chapter-01
Ajp notes-chapter-01Ajp notes-chapter-01
Ajp notes-chapter-01
 
Basic of Abstract Window Toolkit(AWT) in Java
Basic of Abstract Window Toolkit(AWT) in JavaBasic of Abstract Window Toolkit(AWT) in Java
Basic of Abstract Window Toolkit(AWT) in Java
 
object oriented programming examples
object oriented programming examplesobject oriented programming examples
object oriented programming examples
 
Unit 7 Java
Unit 7 JavaUnit 7 Java
Unit 7 Java
 
Java Applet
Java AppletJava Applet
Java Applet
 
13457272.ppt
13457272.ppt13457272.ppt
13457272.ppt
 
Computer Programming NC III - Java Swing.pptx
Computer Programming NC III - Java Swing.pptxComputer Programming NC III - Java Swing.pptx
Computer Programming NC III - Java Swing.pptx
 
Treinamento Qt básico - aula III
Treinamento Qt básico - aula IIITreinamento Qt básico - aula III
Treinamento Qt básico - aula III
 
Unit 5 java-awt (1)
Unit 5 java-awt (1)Unit 5 java-awt (1)
Unit 5 java-awt (1)
 

Recently uploaded

Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon AUnboundStockton
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxEyham Joco
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxAnupkumar Sharma
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptxSherlyMaeNeri
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatYousafMalik24
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxthorishapillay1
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxDr.Ibrahim Hassaan
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTiammrhaywood
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxChelloAnnAsuncion2
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........LeaCamillePacle
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxiammrhaywood
 

Recently uploaded (20)

Crayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon ACrayon Activity Handout For the Crayon A
Crayon Activity Handout For the Crayon A
 
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdfTataKelola dan KamSiber Kecerdasan Buatan v022.pdf
TataKelola dan KamSiber Kecerdasan Buatan v022.pdf
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
Types of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptxTypes of Journalistic Writing Grade 8.pptx
Types of Journalistic Writing Grade 8.pptx
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptxMULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
MULTIDISCIPLINRY NATURE OF THE ENVIRONMENTAL STUDIES.pptx
 
Judging the Relevance and worth of ideas part 2.pptx
Judging the Relevance  and worth of ideas part 2.pptxJudging the Relevance  and worth of ideas part 2.pptx
Judging the Relevance and worth of ideas part 2.pptx
 
Earth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice greatEarth Day Presentation wow hello nice great
Earth Day Presentation wow hello nice great
 
Proudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptxProudly South Africa powerpoint Thorisha.pptx
Proudly South Africa powerpoint Thorisha.pptx
 
Gas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptxGas measurement O2,Co2,& ph) 04/2024.pptx
Gas measurement O2,Co2,& ph) 04/2024.pptx
 
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Bikash Puri  Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Bikash Puri Delhi reach out to us at 🔝9953056974🔝
 
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPTECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
ECONOMIC CONTEXT - LONG FORM TV DRAMA - PPT
 
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptxGrade 9 Q4-MELC1-Active and Passive Voice.pptx
Grade 9 Q4-MELC1-Active and Passive Voice.pptx
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Raw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptxRaw materials used in Herbal Cosmetics.pptx
Raw materials used in Herbal Cosmetics.pptx
 
Rapple "Scholarly Communications and the Sustainable Development Goals"
Rapple "Scholarly Communications and the Sustainable Development Goals"Rapple "Scholarly Communications and the Sustainable Development Goals"
Rapple "Scholarly Communications and the Sustainable Development Goals"
 
Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........Atmosphere science 7 quarter 4 .........
Atmosphere science 7 quarter 4 .........
 
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptxECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
ECONOMIC CONTEXT - PAPER 1 Q3: NEWSPAPERS.pptx
 

Awt

  • 1. Rakesh Ravaso Patil Dept. of Computer Engg. T.E. „B‟ 12276
  • 2. Overview…  Introduction to AWT  Swing vs. AWT  Building GUI  Component Hierarchy  AWT Control Fundamentals  Adding Components  Arranging Components  Overview of Event Handling  Working with Graphics  Conclusion
  • 3. AWT (Abstract Window Toolkit)  Present in all Java implementations  Adequate for many applications  Uses the controls defined by your OS  Difficult to build an attractive GUI  import java.awt.*;  import java.awt.event.*;
  • 4. Swing  Same concepts as AWT  Doesn‟t work in ancient Java implementations (Java 1.1 and earlier)  Many more controls, and they are more flexible  Some controls, but not all, are a lot more complicated  Gives a choice of “look and feel” packages  Much easier to build an attractive GUI  import javax.swing.*;
  • 5. Swing vs. AWT  Swing is bigger, slower, and more complicated  But not as slow as it used to be  Swing is more flexible and better looking  Swing and AWT are incompatible--you can use either, but you can‟t mix them  Actually, you can, but it‟s tricky and not worth doing  Learning the AWT is a good start on learning Swing  Many of the most common controls are just renamed  AWT: Button b = new Button ("OK");  Swing: JButton b = new JButton("OK");
  • 6. To build a GUI...  Create some Components, such as buttons, text areas, panels, etc.  Add your Components to your display area  Arrange, or lay out, your Components  Attach Listeners to your Components  Interacting with a Component causes an Event to occur  A Listener gets a message when an interesting event occurs, and executes some code to deal with it
  • 7. An Applet is Panel is Container java.lang.Object | +----java.awt.Component | +----java.awt.Container | +----java.awt.Panel | +----java.applet.Applet …so you can display things in an Applet
  • 8. Example: A "Life" applet Container (Applet) Containers (Panels) Component (Canvas) Components (Buttons) Components (TextFields) Components (Labels)
  • 9. Some types of components Label Button Checkbox Choice Scrollbar TextField List TextArea Button Checkbox CheckboxGroup
  • 10. Creating components  Label lab = new Label ("Hi, Dave!");  Button but = new Button ("Click me!");  Checkbox toggle = new Checkbox ("toggle");  TextField txt = new TextField ("Initial text.", 20);  Scrollbar scrolly = new Scrollbar (Scrollbar.HORIZONTAL, initialValue, bubbleSize, minValue, maxValue);
  • 11. Adding components to the Applet class MyApplet extends Applet { public void init () { add (lab); // same as this.add(lab) add (but); add (toggle); add (txt); add (scrolly); ...
  • 12. Arranging components  Every Container has a layout manager  The default layout for a Panel is FlowLayout  An Applet is a Panel  Therefore, the default layout for a Applet is FlowLayout  You could set it explicitly with setLayout (new FlowLayout( ));  You could change it to some other layout manager
  • 13. Flow Layout  Use add(component); to add to a component when using a FlowLayout  Components are added left-to-right  If no room, a new row is started  Exact layout depends on size of Applet  Components are made as small as possible  FlowLayout is convenient but often ugly
  • 14. BorderLayout  At most five components can be added  If you want more components, add a Panel, then add components to it. •setLayout (new BorderLayout());
  • 15. GridLayout  The GridLayout manager divides the container up into a given number of rows and columns:  new GridLayout(rows, columns) •All sections of the grid are equally sized and as large as possible
  • 16. Making components active  Most components already appear to do something-- buttons click, text appears  To associate an action with a component, attach a listener to it  Components send events, listeners listen for events  Different components may send different events, and require different listeners
  • 17. Listeners  Listeners are interfaces, not classes  class MyButtonListener implements ActionListener {  An interface is a group of methods that must be supplied  When you say implements, you are promising to supply those methods
  • 18. Writing a Listener  For a Button, you need an ActionListener b1.addActionListener (new MyButtonListener ( ));  An ActionListener must have an actionPerformed(ActionEvent) method public void actionPerformed(ActionEvent e) { … }
  • 19. Listeners for TextFields  An ActionListener listens for someone hitting the Enter key  An ActionListener requires this method: public void actionPerformed (ActionEvent e)  You can use getText( ) to get the text  A TextListener listens for any and all keys  A TextListener requires this method: public void textValueChanged(TextEvent e)
  • 20. Working With Graphics Circle Triangle Rounded Rectangle Arc Ellipse Rectangle Lines
  • 21. Working with Graphics  void drawLine(int x1, int y1, int x2, int y2)  void drawRect(int top, int left, int width, int height)  void drawRoundRect(int top, int left,int width, int height, int xDiam, int yDiam)  void drawOvel(int top, int left, int width, int height)  void drawArc(int top, int left, int width,int height, int startAngle, int sweepAngle)  void drawPoly(int x[], int y[], int numPoints)  void fill….
  • 22. Format Shape  Working with colors  HSB  RGB  static int HSBtoRGB(float hue, float saturation, float brightness)  Static float[] RGBtoHSB(int red, int green, int blue, float value[])  Working with Fonts  Font(String fontName, int fontStyle, int pointSize)
  • 23. Summary : Building a GUI  Create a container, such as Frame or Applet  Choose a layout manager  Create more complex layouts by adding Panels; each Panel can have its own layout manager  Create other components and add them to whichever Panels you like  For each active component, look up what kind of Listeners it can have  Create (implement) the Listeners  often there is one Listener for each active component
  • 24. Summary: Building a GUI  For each Listener you implement, supply the methods that it requires  For Applets, write the necessary HTML  Graphics  Drawing Lines  Drawing Rectangles  Drawing Ellipse and Circles  Drawing Polygons  Color schemes and Fonts