GUI Programming  in Java Tim McKenna [email_address]
GUI Programming Concepts conventional programming:  sequence of operations is determined  by the  program what you want to happen, happens when you want it event-driven programming: sequence of operations is determined  by the  user ’s interaction with the application’s  interface anything that can happen, happens at any time
GUI Design Concepts a wealth of information creates a poverty of attention - Herbert Simon  Principles of good GUI Design IBM's  Design concepts Saul Greenberg's  HCI pages Tim's  HCI notes
GUI Programming Concepts in Java Java GUI ("Swing") has  components Windows GUI has  controls Unix GUI has  widgets examples:  labels,   buttons, check boxes, radio buttons, text input boxes, pull down lists Java Swing components:  JLabel,   JButton, JCheckBox, JRadioButton, JTextField, JTextArea, JComboBox
Java GUI history: the AWT AWT(JDK 1.0, 1.1):  Abstract Window Toolkit package: java.awt, java.awt.event heavyweight components using native GUI system elements used for applets until most browsers supported JRE 1.2
Swing in Java Swing(Java 2, JDK 1.2+)  lightweight components that do not rely on the native GUI or OS “ look and feel” of Swing components are identical on different platforms can be customized Swing inherits from AWT AWT still used for events, layouts
Swing Components in Java advanced GUI support. e.g. drag-and-drop package names: javax.swing, javax.swing.event components inherit from JComponent components are added to a top-level container: JFrame, JDialog, or JApplet.
running a Swing application java -Dswing.aatext=true  MySwingClass the option sets the system property "swing.aatext" to "true" to enable anti-aliasing for every JComponent javaw   runs a GUI without the console window e.g. HelloWorldSwing.java
Basic GUI Programming Steps in Java declare a container and components add components to one or more containers using a layout manager register event listener(s) with the components create event listener method(s)
Basic GUI Programming Concepts  in Java Example:  JFrameDemoTM.java, JFrameDemoTM2.java, JFrameDemo.java container :  a screen window/applet window/panel that groups and arranges GUI components GUI component:  an object with visual representation Swing containers:  JFrame, JApplet, JPanel AWT containers:  Frame, Applet, Panel
GUI Programming: The Java Approach event-driven programming a piece of code (i.e.  event handler ) is attached to a GUI component an event handler is called when an  event  (e.g. a mouse click) is activated / fired The Delegation Event Model in Java processing of an event is delegated to an object (the listener) in the program
Event-driven Programming  in Java event source:  a GUI component that  generates / fires  an  event event:  a user interaction (e.g. a click on the button)   event listener:  an object that has implemented  event handlers  to  react  to an  event
Event Handling in Java the delegation event model - event listeners must be    registered  with an event   source in order to receive   notification
Event Handling in Java registration of an event listener - write a class that  implements  an [ event type]Listener interface  - create an instance of that class   (i.e. an event listener) - register the listener with a GUI component: add[event type]Listener ( <an event listener> )
Event Handling in Java a listener interface has a list of standard event handlers (i.e. methods) API documentation - java.awt.event - event classes - listener interfaces - adapter classes
Event Handling in Java different ways of coding the event listeners JFrameDemoTM.java uses named inner classes. JFrameDemoTM2.java uses named inner classes and shows how to consolidate window closing from two different events. JFrameDemo.java does not use inner classes.

Gu iintro(java)

  • 1.
    GUI Programming in Java Tim McKenna [email_address]
  • 2.
    GUI Programming Conceptsconventional programming: sequence of operations is determined by the program what you want to happen, happens when you want it event-driven programming: sequence of operations is determined by the user ’s interaction with the application’s interface anything that can happen, happens at any time
  • 3.
    GUI Design Conceptsa wealth of information creates a poverty of attention - Herbert Simon Principles of good GUI Design IBM's Design concepts Saul Greenberg's HCI pages Tim's HCI notes
  • 4.
    GUI Programming Conceptsin Java Java GUI (&quot;Swing&quot;) has components Windows GUI has controls Unix GUI has widgets examples: labels, buttons, check boxes, radio buttons, text input boxes, pull down lists Java Swing components: JLabel, JButton, JCheckBox, JRadioButton, JTextField, JTextArea, JComboBox
  • 5.
    Java GUI history:the AWT AWT(JDK 1.0, 1.1): Abstract Window Toolkit package: java.awt, java.awt.event heavyweight components using native GUI system elements used for applets until most browsers supported JRE 1.2
  • 6.
    Swing in JavaSwing(Java 2, JDK 1.2+) lightweight components that do not rely on the native GUI or OS “ look and feel” of Swing components are identical on different platforms can be customized Swing inherits from AWT AWT still used for events, layouts
  • 7.
    Swing Components inJava advanced GUI support. e.g. drag-and-drop package names: javax.swing, javax.swing.event components inherit from JComponent components are added to a top-level container: JFrame, JDialog, or JApplet.
  • 8.
    running a Swingapplication java -Dswing.aatext=true MySwingClass the option sets the system property &quot;swing.aatext&quot; to &quot;true&quot; to enable anti-aliasing for every JComponent javaw runs a GUI without the console window e.g. HelloWorldSwing.java
  • 9.
    Basic GUI ProgrammingSteps in Java declare a container and components add components to one or more containers using a layout manager register event listener(s) with the components create event listener method(s)
  • 10.
    Basic GUI ProgrammingConcepts in Java Example: JFrameDemoTM.java, JFrameDemoTM2.java, JFrameDemo.java container : a screen window/applet window/panel that groups and arranges GUI components GUI component: an object with visual representation Swing containers: JFrame, JApplet, JPanel AWT containers: Frame, Applet, Panel
  • 11.
    GUI Programming: TheJava Approach event-driven programming a piece of code (i.e. event handler ) is attached to a GUI component an event handler is called when an event (e.g. a mouse click) is activated / fired The Delegation Event Model in Java processing of an event is delegated to an object (the listener) in the program
  • 12.
    Event-driven Programming in Java event source: a GUI component that generates / fires an event event: a user interaction (e.g. a click on the button) event listener: an object that has implemented event handlers to react to an event
  • 13.
    Event Handling inJava the delegation event model - event listeners must be registered with an event source in order to receive notification
  • 14.
    Event Handling inJava registration of an event listener - write a class that implements an [ event type]Listener interface - create an instance of that class (i.e. an event listener) - register the listener with a GUI component: add[event type]Listener ( <an event listener> )
  • 15.
    Event Handling inJava a listener interface has a list of standard event handlers (i.e. methods) API documentation - java.awt.event - event classes - listener interfaces - adapter classes
  • 16.
    Event Handling inJava different ways of coding the event listeners JFrameDemoTM.java uses named inner classes. JFrameDemoTM2.java uses named inner classes and shows how to consolidate window closing from two different events. JFrameDemo.java does not use inner classes.