Past Computing Environments: Swing Ian Smith UI Toolkits (History Lesson) 4 Programming tools for building interfaces 4 Originally in Java you had AWT.

Slides:



Advertisements
Similar presentations
Introduction to Java 2 Programming
Advertisements

14 Copyright © 2005, Oracle. All rights reserved. User Interface Design: Swing Basics Planning the Application Layout.
1 G54PRG Programming Lecture 1 Amadeo Ascó Adam Moore 22 GUI Programming I.
JAVA API (GUI) Subject:T0934 / Multimedia Programming Foundation Session:1 Tahun:2009 Versi:1/0.
BuddySoft Painter Capstone Project Buddy Landry December 15, 2006.
Zach Musgrave & Jason Fulghum Amazon Web Services March 28, 2013.
Unit 091 Introduction to GUI Programming Introduction to User Interfaces Introduction to GUI Programming GUI Design Issues GUI Programming Issues Java.
Overview of Swing’s MVC Architecture By Geoffrey Steffens (BCSi), Socket Software, Australia Copyright © Socket Software, 2002.
Birds perspective on Java GUI Programming Introduction to the major concepts.
1 GUI Elements in Java Nelson Padua-Perez Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
1 CMSC 132: Object-Oriented Programming II Nelson Padua-Perez William Pugh Department of Computer Science University of Maryland, College Park.
Object-Oriented Analysis and Design
CS324e - Elements of Graphics and Visualization Java GUIs - Frames and Panels.
Java Swing Joon Ho Cho. What is Java Swing? Part of the Java Foundation Classes (JFC) Provides a rich set of GUI components Used to create a Java program.
Java Swing - Lecture 1 An Introduction Milena Radenkovic slides originally by Chris Coleman.
Introduction to Java Swing “We are the sultans of swing” – Mark Knopfler.
Written by Liron Blecher
GUI Basics: Introduction. Creating GUI Objects // Create a button with text OK JButton jbtOK = new JButton("OK"); // Create a label with text "Enter your.
CIS 205—Web Design & Development Flash Chapter 1 Getting Started with Adobe Flash CS3.
Java Swing, Events and MVC Optional Readings: Eckel’s Thinking in Java: Chap 14 (
CS377A: A Programming Approach to HCI Jan Borchers Spring Swing Refresher David Merrill 5/14/2002
3461A Readings from the Swing Tutorial. 3461A Overview  The follow is the Table of Contents from the trail “Creating a GUI with JFC/Swing” in the “The.
Graphical User Interface Components Chapter What You Will Learn Text Areas Text Areas Sliders Sliders Menus Menus –With frames –Pop up menus Look.
Swing and MVCS CompSci 230 Software Construction.
Dale Roberts GUI Programming using Java - Introduction Dale Roberts, Lecturer Computer Science, IUPUI Department of Computer.
Session 27 Swing vs. AWT. AWT (Abstract Window ToolKit) It is a portable GUI library for stand-alone applications and/or applets. The Abstract Window.
School of Computer Science & Information Technology G6DICP - Lecture 17 GUI (Graphical User Interface) Programming.
Graphics and Event-Driven Programming in Java John C. Ramirez Department of Computer Science University of Pittsburgh.
Automated GUI testing How to test an interactive application automatically?
CS Lecture 00 Swing overview and introduction Lynda Thomas
MSc Workshop - © S. Kamin, U. ReddyLect 3 - GUI -1 Lecture 3 - Graphical User Interfaces r GUI toolkits in Java API r JFrame r GUI components.
SWING 101. IF YOU GET LOST - IMPORTANT LINKS  Swing articles:
Model View Controller A Pattern that Many People Think They Understand, But Has A Couple Meanings.
1 Java Swing - Lecture 2 Components and Containment Boriana Koleva
Java Applets: GUI Components, Events, Etc. Ralph Westfall June, 2010.
Java GUI building approaches Aleksandar Kartelj Faculty of Mathematics, Belgrade 11 th Workshop “Software Engineering Education and.
Copyright © by Shayne R Flint Simplified Web Application Development Shayne R Flint Department of Computer Science Australian National University.
CS324e - Elements of Graphics and Visualization Java GUIs - Event Handling.
Lec.10 (Chapter 8 & 9) GUI Jiang (Jen) ZHENG June 27 th, 2005.
The Abstract Window Toolkit (AWT) supports Graphical User Interface (GUI) programming. AWT features include: a rich set of user interface components; a.
Java GUI. Graphical User Interface (GUI) a list a button a text field a label combo box checkbox.
Swinging in Your Java Playground. Background Swing is a part of the Java Foundation Classes (JFC). The JFC is made up of features intended to give a programmer.
Swing. Introduction to Swing What is Swing? “ Swing is a diverse collection of lightweight components that can be used to build sophisticated user interfaces.”
Chapter 1 Getting Started with Adobe Photoshop CS4.
Fall UI Design and Implementation1 Lecture 17: Toolkits.
Java Swing, Events Readings: Just Java 2: Chap 19 & 21, or Eckel’s Thinking in Java: Chap 14 Slide credits to CMPUT 301, Department of Computing Science.
Developing GUIs With the Eclipse Visual Editor, SWT Edition David Gallardo.
Developing GUIs With the Eclipse Visual Editor, Swing/AWT Edition David Gallardo.
3461 Course Summary COSC 3461A Fall Intro to UI Design  Course plan: Implementation, Evaluation, Design  Human Computer Interaction is an.
CIS 270—Application Development II Chapter 11—GUI Components: Part I.
Designing a User Interface with Swing Assignment Swing: Update code of an earlier program.
Introduction to Swing Mr. Crone. What is Swing? a collection of pre-made Java classes used to create a modern graphical user interface.
Eric Bachard Mac OS X Porting project Aqua version for Mac OS X.
Teaching slides Chapter 6. Chapter 6 Software user interface design & construction Contents Introduction Graphical user interface – Rich window based.
Welcome To java
Support for the Development of Interactive Systems
Provision for GUIs in Java
Designing a User Interface with Swing
Java Look-and-Feel Design Guidelines
Provision for GUIs in Java
Lecture 27 Creating Custom GUIs
Swing & the JFC – Advanced Java GUI
Java Tutorial Zhe Li.
Chapter 14 JavaFX Basics Dr. Clincy - Lecture.
Building Graphical User Interface with Swing a short introduction
New Features in StarBoard Software Version 9.0
Professor John Canny Spring 2003 March 10
Week 8 Swing NetBeans GUI Builder
Java 2 Swing B.Ramamurthy 5/1/2019 B.Ramamurthy.
Graphical User Interface
Presentation transcript:

Past Computing Environments: Swing Ian Smith

UI Toolkits (History Lesson) 4 Programming tools for building interfaces 4 Originally in Java you had AWT 4 AWT sucks 4 AWT is based on “peers” 4 JDK 1.0 (and 0.8, 0.9) shipped with AWT Lots of cheers, lots of screams

UI Toolkits (History Continued) 4 Backing away from AWT event model 4 JDK 1.1 shipped with new event model 4 Backing away from peers 4 Several efforts underway to avoid peers 4 Netscape offers IFC 4 Different JVMs differ significantly

Simplified Timeline 4 Early 1997, 100% Java UI work begins Netscape & Sun join forces 4 March 1997: Java One Demo & “Swing” 4 Summer 1997: Swing 0.3 released 4 Fall 1997: Versions fast an furious 4 December 1997: API “Frozen”: Swing February 1998: Swing 1.0 release

What’s Swing (JFC?) 4 Set of UI Components & MVC 4 JDK 1.1 Event Model & Beans 4 Pluggable Look & Feel 4 Java 2D 4 Compatible with AWT but in JDK Accessibility 4 Drag And Drop

Questionable Graphic

Swing Components 4 Swing is 250 classes, 75 interfaces 4 The obvious (button, scrollbar, checkbox) 4 MS competitors (combo box, internal frame, split pane, tool bar, tool tip, etc) 4 The monsters (text & table) 4 A few choosers (file chooser, color chooser, previewers)

Swing & MVC 4 All components have an explicit model 4 View & Controller are fused 4 E.g. JAbstractButtonModel for Button, RadioButton, CheckBox, etc. 4 Linkage in both directions 4 Apps can listen to the model 4 Very sophisticated Document model 4 Supercool for database applications

Swing Event Model (Beans) 4 Everything is done with “listeners”  E.g. “ addActionListener() ” to a JButton  E.g. “ addChangeListener() ” to a ButtonModel 4 Simplifies linkage to application semantics but stiffens event model 4 All Swing objects are beans 4 People are already using them in builders

Pluggable Look & Feel 4 L&F is delegated to “separate” UI object 4 L&F is pluggable & dynamic 4 Organic, Windows, Motif (Mac? Mystery?) 4 Windows only works on Windows 4 Windows is pixel-accurate copy

Examples Organic Motif Win32

Java 2D 4 2D imaging model for Java (from adobe?) 4 Seems very sophisticated 4 All drawing in JDK 1.2 is done in terms of Java 2D 4 JDK 1.2 beta 2 is out, but Java 2D is very slow and has broken font metrics

Compatible (?) with AWT... 4 Generally, you can mix-n-match Swing with AWT 4 Some features work better in an all Swing world 4 When JDK 1.2 ships, Swing comes with 4 JDK 1.2 beta 2 shipped with Swing Don’t use Swing with JDK 1.2 beta 2 if possible

Accessibility 4 Accessibility is part of JFC 4 Accessibility is a bunch of interfaces components can implement 4 “Roles” “Actions” “AccessibleText” 4 All Swing components are accessible 4 Call your computer on a cell phone: you are now blind

Drag And Drop 4 JDK 1.2 will have drag and drop 4 Interoperable with platform drag and drop 4 Version 0.95 of D&D spec is out 4 Swing plans to support D&D in JDK 1.2 (?) 4 Spec is borderline impenetrable

Why To (Not) Use Swing 4 + AWT is so broken as to be useless 4 + It’s supported by Sun/Netscape; they care 4 + Lots of output side power & flexibility 4 + Source is available 4 + Browser support (Activator) 4 - Designed for “standard apps” 4 - Not very flexible input 4 - Still has AWT heritage