Software Design: Figures

Size: px
Start display at page:

Download "Software Design: Figures"

Transcription

1 Software Design: Figures

2 Your assistant for this week Stefan Stevsic Office: CNB H You can simply stop by. You can also drop me a short to check if I m there. Please submit exercise 5 solutions to me. 23 March

3 ColorPicker

4 Some of your submissions 23 March

5 ColorPicker : Layout JPanel(new GridLayout(1, 2, 5, 5)) BorderLayout.NORTH rows=1 cols=2 hgap=5 vgap=5 JPanel(new FlowLayout()) BorderLayout.CENTER

6 ColorPicker : Layout JPanel(new GridLayout(3, 1, 3, 3)) JPanel(new GridLayout(3, 2)) JPanel(new GridLayout(2, 1, 5, 5)) JPanel(new GridLayout(0, 1))

7 ColorPicker UML : ColorModel public class ColorModel { private Color color; private List<ColorListener> listeners = new LinkedList<ColorListener>(); public void addcolorlistener(colorlistener l) { listeners.add(l); public void setcolor(color color) { if (!color.equals(this.color)) { this.color = color; for (ColorListener l : listeners){ l.colorvaluechanged(color);

8 has ColorPicker UML Example: Scrollbar <<interface>> Java.util.EventListener <<interface>> ColorListener CScrollBar <<interface>> AdjustmentListener JScrollBar 0..n 0..n updates contained in 1 1 ColorModel 1 1 ColorFrame JComponent etc.

9 ColorPicker UML : CScrollBar public interface ColorListener { void colorvaluechanged (Color c); <<interface>> ColorListener CScrollBar class CScrollBar extends JScrollBar implements AdjustmentListener, ColorListener { <<interface>> AdjustmentListener CScrollBar(ColorModel model, int type, int orientation, int val) { super(orientation, val, 0, 0, 255); this.model = model; this.type = type; addadjustmentlistener(this); model.addcolorlistener(this); public void adjustmentvaluechanged(adjustmentevent e) { // update model -> model.setcolor(c); public void colorvaluechanged(color color) { // set scrollbar value, e.g., setvalue(color.getred());

10 Exercise 5 Overview 1. Implementation of DrawModel 2. Implementation of some figures Line Oval Implementation of the corresponding tools LineTool, OvalTool, Registration of the Tools in class StdContext doregisterdrawtools () (Line 151) 5. Extraction of the commonalities from the figure and tool classes into abstract base classes.. ex. 4 ex. 5

11 Exercise 5: Classes to create <<interface>> jdraw.framework.drawmodel <<interface>> FigureListener DrawView DrawModelListener * * 1 1 DrawModel 0..1 * <<interface>> Figure your job New Change prepared in ex. 4 Line Rect Oval creates creates LineTool RectTool OvalTool StdContext registrates «interface» DrawTool

12 Drawing of figures 1. Tool selection deactivate() method of previous tool is called activate() method of next tool is called Call to showstatustext ( Line Tool selected ) of DrawEditor sets Statusbar Can add/remove additional menus 2. Mouse-Down Click (inside DrawTool::mouseDown()) Creates new figure with current mouse position as origin (widht & height are zero). Adds new figure to draw model Calls showstatustext ( Adding Line ) in DrawEditor to set status bar 23 March

13 Drawing of figures 3. Dragging the mouse (inside DrawTool::mouseDrag()) Calls setbounds(mousedown-coordinates, current mouse coordinates) Calls showstatustext ( Figure Properties ) displays current figure properties in status bar 4. Release of mouse button (inside DrawTool::mouseUp()) Delete figure if mousedown == mouseup coordinates Prevent figure with zero size. Call showstatustext ( Line Tool selected ); 23 March

14 Implementation of own figure class 1. Figure must implement the Figure interface 2. Definition of figures Line: Start and end points Oval/Ellipse: Defined over corner points of the bounding box 3. Figures draw themselfes in the draw(graphics g) method 23 March

15 Implementation of own figure class 4. Figure is an Observable Implements notification: E.g. in move(x,y) notifies listeners (your DrawModel) via FigureListener method 5. Figure::clone() and Figure::getHandles() may return null in this exercise (will be part of a later exercise). 23 March

16 Implementation of figure tools 1. Tools create figures and are visible in the toolbar with an icon. 2. Tools implement the interface DrawTool see RectTool. 3. Tools know the controller (StdContext) are activated/deactivated set mouse cursor and status bar process mouse events have a name have an icon 4. Icons for ellipse, line, and rectangle are in res/images see RectTool for an example 23 March

17 Registration of the tool Add them near line 151 in protected void doregisterdrawtools() { DrawTool rectangletool = new RectTool(this); addtool(rectangletool); // add more tools here new tools then appear in the tool bar

18 Tips Reuse existing AWT classes such as java.awt.geom.line2d and java.awt.geom.ellipse2d. Think about how you can extract common behaviour into common base classes to avoid code duplication

GUI in Java TalentHome Solutions

GUI in Java TalentHome Solutions GUI in Java TalentHome Solutions AWT Stands for Abstract Window Toolkit API to develop GUI in java Has some predefined components Platform Dependent Heavy weight To use AWT, import java.awt.* Calculator

More information

Software Design: Copy & Paste

Software Design: Copy & Paste Software Design: Copy & Paste Your assistant for this week Velko Vechev E-mail: velko.vechev@inf.ethz.ch Office: CNB H 100.9 You can simply stop by. You can also drop me a short e-mail to check if I m

More information

Introduction to Graphical User Interfaces (GUIs) Lecture 10 CS2110 Fall 2008

Introduction to Graphical User Interfaces (GUIs) Lecture 10 CS2110 Fall 2008 Introduction to Graphical User Interfaces (GUIs) Lecture 10 CS2110 Fall 2008 Announcements A3 is up, due Friday, Oct 10 Prelim 1 scheduled for Oct 16 if you have a conflict, let us know now 2 Interactive

More information

Sri Vidya College of Engineering & Technology

Sri Vidya College of Engineering & Technology UNIT-V TWO MARKS QUESTION & ANSWER 1. What is the difference between the Font and FontMetrics class? Font class is used to set or retrieve the screen fonts.the Font class maps the characters of the language

More information

Dr. Hikmat A. M. AbdelJaber

Dr. Hikmat A. M. AbdelJaber Dr. Hikmat A. M. AbdelJaber JWindow: is a window without a title bar or move controls. The program can move and resize it, but the user cannot. It has no border at all. It optionally has a parent JFrame.

More information

Introduction to the JAVA UI classes Advanced HCI IAT351

Introduction to the JAVA UI classes Advanced HCI IAT351 Introduction to the JAVA UI classes Advanced HCI IAT351 Week 3 Lecture 1 17.09.2012 Lyn Bartram lyn@sfu.ca About JFC and Swing JFC Java TM Foundation Classes Encompass a group of features for constructing

More information

Packages: Putting Classes Together

Packages: Putting Classes Together Packages: Putting Classes Together 1 Introduction 2 The main feature of OOP is its ability to support the reuse of code: Extending the classes (via inheritance) Extending interfaces The features in basic

More information

CS 251 Intermediate Programming GUIs: Components and Layout

CS 251 Intermediate Programming GUIs: Components and Layout CS 251 Intermediate Programming GUIs: Components and Layout Brooke Chenoweth University of New Mexico Fall 2017 import javax. swing.*; Hello GUI public class HelloGUI extends JFrame { public HelloGUI ()

More information

Jonathan Aldrich Charlie Garrod

Jonathan Aldrich Charlie Garrod Principles of Software Construction: Objects, Design, and Concurrency (Part 3: Design Case Studies) Introduction to GUIs Jonathan Aldrich Charlie Garrod School of Computer Science 1 Administrivia Homework

More information

CS 315 Software Design Homework 1 First Sip of Java Due: Sept. 10, 11:30 PM

CS 315 Software Design Homework 1 First Sip of Java Due: Sept. 10, 11:30 PM CS 315 Software Design Homework 1 First Sip of Java Due: Sept. 10, 11:30 PM Objectives The objectives of this assignment are: to get your first experience with Java to become familiar with Eclipse Java

More information

Laying Out Components. What is Widget Layout?

Laying Out Components. What is Widget Layout? Laying Out Components Interior Design for GUIs What is Widget Layout? Positioning widgets in their container (typically a JPanel or a JFrame s content pane) Basic idea: each widget has a size and position

More information

Topic 9: Swing. Swing is a BIG library Goal: cover basics give you concepts & tools for learning more

Topic 9: Swing. Swing is a BIG library Goal: cover basics give you concepts & tools for learning more Swing = Java's GUI library Topic 9: Swing Swing is a BIG library Goal: cover basics give you concepts & tools for learning more Assignment 5: Will be an open-ended Swing project. "Programming Contest"

More information

Topic 9: Swing. Why are we studying Swing? GUIs Up to now: line-by-line programs: computer displays text user types text. Outline. 1. Useful & fun!

Topic 9: Swing. Why are we studying Swing? GUIs Up to now: line-by-line programs: computer displays text user types text. Outline. 1. Useful & fun! Swing = Java's GUI library Topic 9: Swing Swing is a BIG library Goal: cover basics give you concepts & tools for learning more Why are we studying Swing? 1. Useful & fun! 2. Good application of OOP techniques

More information

Java. GUI building with the AWT

Java. GUI building with the AWT Java GUI building with the AWT AWT (Abstract Window Toolkit) Present in all Java implementations Described in most Java textbooks Adequate for many applications Uses the controls defined by your OS therefore

More information

What is Widget Layout? Laying Out Components. Resizing a Window. Hierarchical Widget Layout. Interior Design for GUIs

What is Widget Layout? Laying Out Components. Resizing a Window. Hierarchical Widget Layout. Interior Design for GUIs What is Widget Layout? Laying Out Components Positioning widgets in their container (typically a JPanel or a JFrame s content pane) Basic idea: each widget has a size and position Main problem: what if

More information

John Cowell. Essential Java Fast. How to write object oriented software for the Internet. with 64 figures. Jp Springer

John Cowell. Essential Java Fast. How to write object oriented software for the Internet. with 64 figures. Jp Springer John Cowell Essential Java Fast How to write object oriented software for the Internet with 64 figures Jp Springer Contents 1 WHY USE JAVA? 1 Introduction 1 What is Java? 2 Is this book for you? 2 What

More information

AgentWorks Administrator and Manager User Guide - Release 12.5

AgentWorks Administrator and Manager User Guide - Release 12.5 AgentWorks Administrator and Manager User Guide - Release 12.5 March 21, 2013 2012 MoneyGram InternationalAll rights reserved. Table of Contents Registration Overview... 2 1. Initial Log In AgentWorks

More information

User Guide for Applicants PROJECT. DATE & VERSION 11 th Oct 2016, Version: 2.0. Scholarships Management System Applicant Portal

User Guide for Applicants PROJECT. DATE & VERSION 11 th Oct 2016, Version: 2.0. Scholarships Management System Applicant Portal TITLE PROJECT User Guide for Applicants Scholarships Management System Applicant Portal DATE & VERSION 11 th Oct 2016, Version: 2.0 User Guide for Applicants Page 1 of 15 TABLE OF CONTENTS 1 Launch the

More information

The Java Programming Language Basics. Identifiers, Keywords, and Types. Expressions and Flow Control. Object-Oriented Programming. Objects and Classes

The Java Programming Language Basics. Identifiers, Keywords, and Types. Expressions and Flow Control. Object-Oriented Programming. Objects and Classes Building GUIs 8 Course Map This module covers setup and layout of graphical user interfaces. It introduces the Abstract Windowing Toolkit, a package of classes from which GUIs are built. Getting Started

More information

CHAPTER 2. Java Overview

CHAPTER 2. Java Overview Networks and Internet Programming (0907522) CHAPTER 2 Java Overview Instructor: Dr. Khalid A. Darabkh Objectives The objectives of this chapter are: To discuss the classes present in the java.awt package

More information

KF5008 Program Design & Development. Lecture 1 Usability GUI Design and Implementation

KF5008 Program Design & Development. Lecture 1 Usability GUI Design and Implementation KF5008 Program Design & Development Lecture 1 Usability GUI Design and Implementation Types of Requirements Functional Requirements What the system does or is expected to do Non-functional Requirements

More information

Table of Contents. KCD Terminology.2-4. KCD Dimensions KCD Toolbar KCD Top Ten Short Cuts...10

Table of Contents. KCD Terminology.2-4. KCD Dimensions KCD Toolbar KCD Top Ten Short Cuts...10 Table of Contents KCD Terminology.2-4 KCD Dimensions...5-6 KCD Toolbar...7-9 KCD Top Ten Short Cuts......10 KCD Terminology Main KCD Screen A The Main Menu, this is where you will be able to find all the

More information

CSC 160 LAB 8-1 DIGITAL PICTURE FRAME. 1. Introduction

CSC 160 LAB 8-1 DIGITAL PICTURE FRAME. 1. Introduction CSC 160 LAB 8-1 DIGITAL PICTURE FRAME PROFESSOR GODFREY MUGANDA DEPARTMENT OF COMPUTER SCIENCE 1. Introduction Download and unzip the images folder from the course website. The folder contains 28 images

More information

Java Applets / Flash

Java Applets / Flash Java Applets / Flash Java Applet vs. Flash political problems with Microsoft highly portable more difficult development not a problem less so excellent visual development tool Applet / Flash good for:

More information

ADOBE TRAINING CS6 PHOTOSHOP BASICS: EDITING PHOTOS & WORKING WITH TEXT - 1

ADOBE TRAINING CS6 PHOTOSHOP BASICS: EDITING PHOTOS & WORKING WITH TEXT - 1 ADOBE TRAINING CS6 PHOTOSHOP BASICS: EDITING PHOTOS & WORKING WITH TEXT Photoshop is the leading professional software for editing and adjusting photos, images and other graphic projects. It is a very

More information

Java Swing. based on slides by: Walter Milner. Java Swing Walter Milner 2005: Slide 1

Java Swing. based on slides by: Walter Milner. Java Swing Walter Milner 2005: Slide 1 Java Swing based on slides by: Walter Milner Java Swing Walter Milner 2005: Slide 1 What is Swing? A group of 14 packages to do with the UI 451 classes as at 1.4 (!) Part of JFC Java Foundation Classes

More information

To learn more about the Milestones window choose: Help Help Topics Select the Index tab and type in the feature. For Example toolbox.

To learn more about the Milestones window choose: Help Help Topics Select the Index tab and type in the feature. For Example toolbox. To learn more about the Milestones window choose: Help Help Topics Select the Index tab and type in the feature. For Example toolbox. 1 of 12 CHOOSE THE DATES TAB TO: 1. Set the schedule s Date Range.

More information

Handout 14 Graphical User Interface (GUI) with Swing, Event Handling

Handout 14 Graphical User Interface (GUI) with Swing, Event Handling Handout 12 CS603 Object-Oriented Programming Fall 15 Page 1 of 12 Handout 14 Graphical User Interface (GUI) with Swing, Event Handling The Swing library (javax.swing.*) Contains classes that implement

More information

Resizing a Window. COSC 3461: Module 5B. What is Widget Layout? Size State Transitions. What is Widget Layout? Hierarchical Widget Layout.

Resizing a Window. COSC 3461: Module 5B. What is Widget Layout? Size State Transitions. What is Widget Layout? Hierarchical Widget Layout. COSC 3461: Module 5B Resizing a Window Widgets II What has changed? scrollbar added menu has wrapped toolbar modified (buttons lost) 2 What is Widget Layout? Size State Transitions Recall: each widget

More information

Outline. Observer Pattern: Pitfalls. Observer Applications

Outline. Observer Pattern: Pitfalls. Observer Applications Outline Observer Pattern: Pitfalls NotifyObservers Invocation Problem M:N Problem ConcurrentModificationException Problem Cyclic Dependency Problem Causality of State Changes Problem Memory Management

More information

Graphical User Interfaces. Swing. Jose Jesus García Rueda

Graphical User Interfaces. Swing. Jose Jesus García Rueda Graphical User Interfaces. Swing Jose Jesus García Rueda Introduction What are the GUIs? Well known examples Basic concepts Graphical application. Containers. Actions. Events. Graphical elements: Menu

More information

CSE 143. Event-driven Programming and Graphical User Interfaces (GUIs) with Swing/AWT

CSE 143. Event-driven Programming and Graphical User Interfaces (GUIs) with Swing/AWT CSE 143 Event-driven Programming and Graphical User Interfaces (GUIs) with Swing/AWT slides created by Marty Stepp based on materials by M. Ernst, S. Reges, D. Notkin, R. Mercer, Wikipedia http://www.cs.washington.edu/331/

More information

Final Examination Semester 2 / Year 2011

Final Examination Semester 2 / Year 2011 Southern College Kolej Selatan 南方学院 Final Examination Semester 2 / Year 2011 COURSE COURSE CODE TIME DEPARTMENT LECTURER : JAVA PROGRAMMING : PROG1114 : 2 1/2 HOURS : COMPUTER SCIENCE : LIM PEI GEOK Student

More information

CISC 1600, Lab 3.1: Processing

CISC 1600, Lab 3.1: Processing CISC 1600, Lab 3.1: Processing Prof Michael Mandel 1 Getting set up For this lab, we will be using OpenProcessing, a site for building processing sketches online using processing.js. 1.1. Go to https://www.openprocessing.org/class/57767/

More information

Layers (Just the Basics) By Jerry Koons

Layers (Just the Basics) By Jerry Koons and their applications are always a topic of concern and confusion, especially to those that are new to the Photoshop and Elements programs. will become one of your best tools after you understand their

More information

Vision Pointer Tools

Vision Pointer Tools Vision Pointer Tools Pointer Tools - Uses Pointer Tools can be used in a variety of ways: during a Vision Demo to annotate on the master station s screen during a Remote Control session to annotate on

More information

Formatting Values. 1. Click the cell(s) with the value(s) to format.

Formatting Values. 1. Click the cell(s) with the value(s) to format. Formatting Values Applying number formatting changes how values are displayed it doesn t change the actual information. Excel is often smart enough to apply some number formatting automatically. For example,

More information

Outline. Topic 9: Swing. GUIs Up to now: line-by-line programs: computer displays text user types text AWT. A. Basics

Outline. Topic 9: Swing. GUIs Up to now: line-by-line programs: computer displays text user types text AWT. A. Basics Topic 9: Swing Outline Swing = Java's GUI library Swing is a BIG library Goal: cover basics give you concepts & tools for learning more Assignment 7: Expand moving shapes from Assignment 4 into game. "Programming

More information

Drawing Tools. Drawing a Rectangle

Drawing Tools. Drawing a Rectangle Chapter Microsoft Word provides extensive DRAWING TOOLS that allow you to enhance the appearance of your documents. You can use these tools to assist in the creation of detailed publications, newsletters,

More information

Adobe illustrator Introduction

Adobe illustrator Introduction Adobe illustrator Introduction This document was prepared by Luke Easterbrook 2013 1 Summary This document is an introduction to using adobe illustrator for scientific illustration. The document is a filleable

More information

Now it only remains to supply the code. Begin by creating three fonts:

Now it only remains to supply the code. Begin by creating three fonts: Owner-Draw Menus Normal menus are always drawn in the same font and the same size. But sometimes, this may not be enough for your purposes. For example, here is a screen shot from MathXpert: Notice in

More information

Final Examination Semester 2 / Year 2010

Final Examination Semester 2 / Year 2010 Southern College Kolej Selatan 南方学院 Final Examination Semester 2 / Year 2010 COURSE : JAVA PROGRAMMING COURSE CODE : PROG1114 TIME : 2 1/2 HOURS DEPARTMENT : COMPUTER SCIENCE LECTURER : LIM PEI GEOK Student

More information

The Fundamentals. Document Basics

The Fundamentals. Document Basics 3 The Fundamentals Opening a Program... 3 Similarities in All Programs... 3 It's On Now What?...4 Making things easier to see.. 4 Adjusting Text Size.....4 My Computer. 4 Control Panel... 5 Accessibility

More information

Window Interfaces Using Swing Objects

Window Interfaces Using Swing Objects Chapter 12 Window Interfaces Using Swing Objects Event-Driven Programming and GUIs Swing Basics and a Simple Demo Program Layout Managers Buttons and Action Listeners Container Classes Text I/O for GUIs

More information

Blackboard Portfolio Quick Reference Guide for Students

Blackboard Portfolio Quick Reference Guide for Students Blackboard Portfolio Quick Reference Guide for Students How to Create a Portfolio 1. On the My Institution tab, under Tools, click on the Portfolio link. 2. From the My Portfolios page, click the Create

More information

All the Swing components start with J. The hierarchy diagram is shown below. JComponent is the base class.

All the Swing components start with J. The hierarchy diagram is shown below. JComponent is the base class. Q1. If you add a component to the CENTER of a border layout, which directions will the component stretch? A1. The component will stretch both horizontally and vertically. It will occupy the whole space

More information

Chapter 12 Advanced GUIs and Graphics

Chapter 12 Advanced GUIs and Graphics Chapter 12 Advanced GUIs and Graphics Chapter Objectives Learn about applets Explore the class Graphics Learn about the classfont Explore the classcolor Java Programming: From Problem Analysis to Program

More information

AWT SCROLLBAR CLASS. Scrollbar control represents a scroll bar component in order to enable user to select from range of values.

AWT SCROLLBAR CLASS. Scrollbar control represents a scroll bar component in order to enable user to select from range of values. http://www.tutorialspoint.com/awt/awt_scrollbar.htm AWT SCROLLBAR CLASS Copyright tutorialspoint.com Introduction Scrollbar control represents a scroll bar component in order to enable user to select from

More information

Graphics programming. COM6516 Object Oriented Programming and Design Adam Funk (originally Kirill Bogdanov & Mark Stevenson)

Graphics programming. COM6516 Object Oriented Programming and Design Adam Funk (originally Kirill Bogdanov & Mark Stevenson) Graphics programming COM6516 Object Oriented Programming and Design Adam Funk (originally Kirill Bogdanov & Mark Stevenson) Overview Aims To provide an overview of Swing and the AWT To show how to build

More information

Course Status Networking GUI Wrap-up. CS Java. Introduction to Java. Andy Mroczkowski

Course Status Networking GUI Wrap-up. CS Java. Introduction to Java. Andy Mroczkowski CS 190 - Java Introduction to Java Andy Mroczkowski uamroczk@cs.drexel.edu Department of Computer Science Drexel University March 10, 2008 / Lecture 8 Outline Course Status Course Information & Schedule

More information

1. Create a map of the layer and attribute that needs to be queried

1. Create a map of the layer and attribute that needs to be queried Single Layer Query 1. Create a map of the layer and attribute that needs to be queried 2. Choose the desired Select Type. This can be changed from the Map menu at the far top or from the Select Type Icon

More information

Lecture 5: Java Graphics

Lecture 5: Java Graphics Lecture 5: Java Graphics CS 62 Spring 2019 William Devanny & Alexandra Papoutsaki 1 New Unit Overview Graphical User Interfaces (GUI) Components, e.g., JButton, JTextField, JSlider, JChooser, Containers,

More information

CS 2113 Software Engineering

CS 2113 Software Engineering CS 2113 Software Engineering Java 5 - GUIs Import the code to intellij https://github.com/cs2113f18/template-j-5.git Professor Tim Wood - The George Washington University Class Hierarchies Abstract Classes

More information

Java: Graphical User Interfaces (GUI)

Java: Graphical User Interfaces (GUI) Chair of Software Engineering Carlo A. Furia, Marco Piccioni, and Bertrand Meyer Java: Graphical User Interfaces (GUI) With material from Christoph Angerer The essence of the Java Graphics API Application

More information

DM503 Programming B. Peter Schneider-Kamp.

DM503 Programming B. Peter Schneider-Kamp. DM503 Programming B Peter Schneider-Kamp petersk@imada.sdu.dk! http://imada.sdu.dk/~petersk/dm503/! ADVANCED OBJECT-ORIENTATION 2 Object-Oriented Design classes often do not exist in isolation from each

More information

Block I Unit 2. Basic Constructs in Java. AOU Beirut Computer Science M301 Block I, unit 2 1

Block I Unit 2. Basic Constructs in Java. AOU Beirut Computer Science M301 Block I, unit 2 1 Block I Unit 2 Basic Constructs in Java M301 Block I, unit 2 1 Developing a Simple Java Program Objectives: Create a simple object using a constructor. Create and display a window frame. Paint a message

More information

Week 5 Creating a Calendar. About Tables. Making a Calendar From a Table Template. Week 5 Word 2010

Week 5 Creating a Calendar. About Tables. Making a Calendar From a Table Template. Week 5 Word 2010 Week 5 Creating a Calendar About Tables Tables are a good way to organize information. They can consist of only a few cells, or many cells that cover several pages. You can arrange boxes or cells vertically

More information

CSEN401 Computer Programming Lab. Topics: Graphical User Interface Window Interfaces using Swing

CSEN401 Computer Programming Lab. Topics: Graphical User Interface Window Interfaces using Swing CSEN401 Computer Programming Lab Topics: Graphical User Interface Window Interfaces using Swing Prof. Dr. Slim Abdennadher 22.3.2015 c S. Abdennadher 1 Swing c S. Abdennadher 2 AWT versus Swing Two basic

More information

Contents. Add a Form Element to a Group Box Add a Field to a Form... 22

Contents. Add a Form Element to a Group Box Add a Field to a Form... 22 Workflow Design Guide Version 17 November 2017 Contents About This Guide... 7 Workflows and Forms Overview... 7 Security Permissions for Workflows and Forms... 8 Search for a Workflow Design, Workflow

More information

Programming Languages and Techniques (CIS120)

Programming Languages and Techniques (CIS120) Programming Languages and Techniques (CIS120) Lecture 34 April 18, 2013 Swing II: Layout & Designing a GUI app How is HW10 going so far? 1. not started 2. started reading 3. got an idea for what game to

More information

Uppsala University. Assignment 3. Separation into Model-View TableModel ListModel ( multiple inheritance or adapter) Renderer (delegation)

Uppsala University. Assignment 3. Separation into Model-View TableModel ListModel ( multiple inheritance or adapter) Renderer (delegation) ToDo-list Assignment 3 Separation into Model-View TableModel ListModel ( multiple inheritance or adapter) Renderer (delegation) A new component Extend Swing with your own design Theme Modify look&feel

More information

How to create self-grading multiple-choice tests with Google Docs

How to create self-grading multiple-choice tests with Google Docs How to create self-grading multiple-choice tests with Google Docs There are many ways that we can use Google Docs to improve learning experiences for our students in Middle and high schools. We can promote

More information

Technical Users Guide for the Performance Measurement Accountability System. National Information Center For State and Private Forestry.

Technical Users Guide for the Performance Measurement Accountability System. National Information Center For State and Private Forestry. PMAS Technical Users Guide for the Performance Measurement Accountability System National Information Center For State and Private Forestry Prepared By Peter Bedker Release 2 October 1, 2002 PMAS User

More information

Getting Started with Milestones Professional

Getting Started with Milestones Professional Create a new Schedule: Use the default template. Or Choose the Setup Wizard. (File/New). Or Choose a predesigned template. NEXT: Follow the tips below. Set the Schedule Start and End Dates: Click the Toolbar

More information

Window Interfaces Using Swing Objects

Window Interfaces Using Swing Objects Chapter 12 Window Interfaces Using Swing Objects Event-Driven Programming and GUIs Swing Basics and a Simple Demo Program Layout Managers Buttons and Action Listeners Container Classes Text I/O for GUIs

More information

CSC207H: Software Design Lecture 11

CSC207H: Software Design Lecture 11 CSC207H: Software Design Lecture 11 Wael Aboelsaadat wael@cs.toronto.edu http://ccnet.utoronto.ca/20075/csc207h1y/ Office: BA 4261 Office hours: R 5-7 Acknowledgement: These slides are based on material

More information

GUI Components: Part 1

GUI Components: Part 1 1 2 11 GUI Components: Part 1 Do you think I can listen all day to such stuff? Lewis Carroll Even a minor event in the life of a child is an event of that child s world and thus a world event. Gaston Bachelard

More information

SURVEY USER MANUAL. Satori Team

SURVEY USER MANUAL. Satori Team SURVEY USER MANUAL Satori Team Table of Contents Survey... 3 1. Introduction... 3 2. Roles And Privileges.... 4 3. Process Flow... 5 4. Description.... 6 a) Actions can be done for survey.... 6 b) Creating

More information

Word 2003: Flowcharts Learning guide

Word 2003: Flowcharts Learning guide Word 2003: Flowcharts Learning guide How can I use a flowchart? As you plan a project or consider a new procedure in your department, a good diagram can help you determine whether the project or procedure

More information

Rational Rose: Creating Use-Case and Class Diagrams Version 1.0. Bryan Loughman 10/ 19/ 00

Rational Rose: Creating Use-Case and Class Diagrams Version 1.0. Bryan Loughman 10/ 19/ 00 Rational Rose: Creating Use-Case and Class Diagrams Version 1.0 by Bryan Loughman 10/ 19/ 00 Introduction: Rational Rose is a program that allows the user to create software diagrams using UML(Unified

More information

Graphic User Interfaces. - GUI concepts - Swing - AWT

Graphic User Interfaces. - GUI concepts - Swing - AWT Graphic User Interfaces - GUI concepts - Swing - AWT 1 What is GUI Graphic User Interfaces are used in programs to communicate more efficiently with computer users MacOS MS Windows X Windows etc 2 Considerations

More information

How to use the ruler, grid, guides, and the Align panel

How to use the ruler, grid, guides, and the Align panel How to use the ruler, grid, guides, and the Align panel Much of your job as a page designer is to place text and graphics on the page in a pleasing, organized way. Although you can do much of this placing

More information

Contents. Properties: Field Area Fields Add a Table to a Form... 23

Contents. Properties: Field Area Fields Add a Table to a Form... 23 Workflow Design Guide Version 18 February 2018 Contents About This Guide... 7 Workflows and Forms Overview... 7 Security Permissions for Workflows and Forms... 8 Search for a Workflow Design, Workflow

More information

What Is an Event? Some event handler. ActionEvent. actionperformed(actionevent e) { }

What Is an Event? Some event handler. ActionEvent. actionperformed(actionevent e) { } CBOP3203 What Is an Event? Events Objects that describe what happened Event Sources The generator of an event Event Handlers A method that receives an event object, deciphers it, and processes the user

More information

DesignWorks- CrystalWork Skillbuilder

DesignWorks- CrystalWork Skillbuilder DesignWorks- CrystalWork Skillbuilder Crystal Shapes & Fills The following exercise will cover the basics of filling and editing a Crystal shape. For detailed CrystalWork software instructions, review

More information

SPRECON-E Display Editor

SPRECON-E Display Editor SPRECON-E Display Editor Version 2.0b USERS MANUAL 94.2.912.60en 09/2004 ISSUE A page 2 / 61 Business Sector Enery Station Automation (ENA) [Power systems automation] Sprecher Automation GmbH Franckstrasse

More information

CS 201 Advanced Object-Oriented Programming Lab 5 - Sudoku, Part 1 Due: March 3/4, 11:30 PM

CS 201 Advanced Object-Oriented Programming Lab 5 - Sudoku, Part 1 Due: March 3/4, 11:30 PM CS 201 Advanced Object-Oriented Programming Lab 5 - Sudoku, Part 1 Due: March 3/4, 11:30 PM Introduction to the Assignment This is the 1 st part of a 2 week lab. When done, you will have a game that allows

More information

Exercise: Contact Us Form

Exercise: Contact Us Form TM Exercise: Contact Us Form Exercise Build a Contact Us Form The following are instructions to build a Contact Us form yourself; if you d like a pre-built Contact Us form and campaign, you can download

More information

Microsoft Visio Working with Shapes

Microsoft Visio Working with Shapes Working with Visio Shapes Shape is the general term for the objects you will find on a stencil and objects created using the drawing tools. These include geometric shapes such as rectangles, triangles

More information

To complete this activity, you will need the following files:

To complete this activity, you will need the following files: CHAPTER 1 Windows XP More Skills 12 Move Data Between Windows You can open several application windows at the same time; they do not need to be files created by the same program. Having more than one window

More information

for ArcSketch Version 1.1 ArcSketch is a sample extension to ArcGIS. It works with ArcGIS 9.1

for ArcSketch Version 1.1 ArcSketch is a sample extension to ArcGIS. It works with ArcGIS 9.1 ArcSketch User Guide for ArcSketch Version 1.1 ArcSketch is a sample extension to ArcGIS. It works with ArcGIS 9.1 ArcSketch allows the user to quickly create, or sketch, features in ArcMap using easy-to-use

More information

Custom Shapes As Text Frames In Photoshop

Custom Shapes As Text Frames In Photoshop Custom Shapes As Text Frames In Photoshop I used a background for this activity. Save it and open in Photoshop: Select Photoshop's Custom Shape Tool from the Tools panel. In the custom shapes options panel

More information

IT82: Multimedia Macromedia Director Practical 1

IT82: Multimedia Macromedia Director Practical 1 IT82: Multimedia Macromedia Director Practical 1 Over the course of these labs, you will be introduced Macromedia s Director multimedia authoring tool. This is the de facto standard for time-based multimedia

More information

Recipes4Success. Animate Plant Growth. Share 4 - Animation

Recipes4Success. Animate Plant Growth. Share 4 - Animation Recipes4Success In this Recipe, you will create an animated science diagram of plant growth. You will learn how to add images, draw shapes, use the animation options, preview, and publish your project.

More information

PROGRAMMING DESIGN USING JAVA (ITT 303) Unit 7

PROGRAMMING DESIGN USING JAVA (ITT 303) Unit 7 PROGRAMMING DESIGN USING JAVA (ITT 303) Graphical User Interface Unit 7 Learning Objectives At the end of this unit students should be able to: Build graphical user interfaces Create and manipulate buttons,

More information

MICROSOFT EXCEL BIS 202. Lesson 1. Prepared By: Amna Alshurooqi Hajar Alshurooqi

MICROSOFT EXCEL BIS 202. Lesson 1. Prepared By: Amna Alshurooqi Hajar Alshurooqi MICROSOFT EXCEL Prepared By: Amna Alshurooqi Hajar Alshurooqi Lesson 1 BIS 202 1. INTRODUCTION Microsoft Excel is a spreadsheet application used to perform financial calculations, statistical analysis,

More information

UI Elements. If you are not working in 2D mode, you need to change the texture type to Sprite (2D and UI)

UI Elements. If you are not working in 2D mode, you need to change the texture type to Sprite (2D and UI) UI Elements 1 2D Sprites If you are not working in 2D mode, you need to change the texture type to Sprite (2D and UI) Change Sprite Mode based on how many images are contained in your texture If you are

More information

Hanley s Survival Guide for Visual Applications with NetBeans 2.0 Last Updated: 5/20/2015 TABLE OF CONTENTS

Hanley s Survival Guide for Visual Applications with NetBeans 2.0 Last Updated: 5/20/2015 TABLE OF CONTENTS Hanley s Survival Guide for Visual Applications with NetBeans 2.0 Last Updated: 5/20/2015 TABLE OF CONTENTS Glossary of Terms 2-4 Step by Step Instructions 4-7 HWApp 8 HWFrame 9 Never trust a computer

More information

To gain experience using GUI components and listeners.

To gain experience using GUI components and listeners. Lab 5 Handout 7 CSCI 134: Fall, 2017 TextPlay Objective To gain experience using GUI components and listeners. Note 1: You may work with a partner on this lab. If you do, turn in only one lab with both

More information

GIMP WEB 2.0 ICONS. Web 2.0 Icons: Circle Completed Project. Notice that the default new layer background fill is transparency. Click the Ok button.

GIMP WEB 2.0 ICONS. Web 2.0 Icons: Circle Completed Project. Notice that the default new layer background fill is transparency. Click the Ok button. GIMP WEB 2.0 ICONS WEB 2.0 ICONS: CIRCLE ICON OPEN GIMP or Web 2.0 Icons: Circle Completed Project Step 1: To begin a new GIMP project, from the Menu Bar, select File New. At the Create a New Image dialog

More information

Responding to the Mouse

Responding to the Mouse Responding to the Mouse The mouse has two buttons: left and right. Each button can be depressed and can be released. Here, for reference are the definitions of three common terms for actions performed

More information

CS 201 Advanced Object-Oriented Programming Lab 10 - Recursion Due: April 21/22, 11:30 PM

CS 201 Advanced Object-Oriented Programming Lab 10 - Recursion Due: April 21/22, 11:30 PM CS 201 Advanced Object-Oriented Programming Lab 10 - Recursion Due: April 21/22, 11:30 PM Introduction to the Assignment In this assignment, you will get practice with recursion. There are three parts

More information

Object-Oriented Programming Design. Topic : Graphics Programming GUI Part I

Object-Oriented Programming Design. Topic : Graphics Programming GUI Part I Electrical and Computer Engineering Object-Oriented Topic : Graphics GUI Part I Maj Joel Young Joel.Young@afit.edu 15-Sep-03 Maj Joel Young A Brief History Lesson AWT Abstract Window Toolkit Implemented

More information

Guide to WB Annotations

Guide to WB Annotations Guide to WB Annotations 04 May 2016 Annotations are a powerful new feature added to Workbench v1.2.0 (Released May 2016) for placing text and symbols within wb_view tabs and windows. They enable generation

More information

2110: GUIS: Graphical User Interfaces

2110: GUIS: Graphical User Interfaces 2110: GUIS: Graphical User Interfaces Their mouse had a mean time between failure of a week it would jam up irreparably, or... jam up on the table--... It had a flimsy cord whose wires would break. Steve

More information

Microsoft Visio 2010: An Introduction

Microsoft Visio 2010: An Introduction Microsoft Visio 2010: An Introduction This document provides an introduction to using Microsoft Visio 2010. Microsoft Visio is software designed to translate complex information from text and tables into

More information

CISC 1600, Lab 2.1: Processing

CISC 1600, Lab 2.1: Processing CISC 1600, Lab 2.1: Processing Prof Michael Mandel 1 Getting set up For this lab, we will be using Sketchpad, a site for building processing sketches online using processing.js. 1.1. Go to http://cisc1600.sketchpad.cc

More information

Placing Spaces. Let Me Try! Before you begin. The following files are needed for this Let Me Try exercise: M_c04_archi_spaces_rmp2015.

Placing Spaces. Let Me Try! Before you begin. The following files are needed for this Let Me Try exercise: M_c04_archi_spaces_rmp2015. Placing Spaces Before you begin The following files are needed for this Let Me Try exercise: For Imperial: For Metric: c04_archi_spaces_2016.rvt M_c04_archi_spaces_rmp2015.rvt To access the files from

More information

Lesson 6 Adding Graphics

Lesson 6 Adding Graphics Lesson 6 Adding Graphics Inserting Graphics Images Graphics files (pictures, drawings, and other images) can be inserted into documents, or into frames within documents. They can either be embedded or

More information

mith College Computer Science CSC103 How Computers Work Week 6 Fall 2017 Dominique Thiébaut

mith College Computer Science CSC103 How Computers Work Week 6 Fall 2017 Dominique Thiébaut mith College Computer Science CSC103 How Computers Work Week 6 Fall 2017 Dominique Thiébaut dthiebaut@smith.edu Ben Fry on Processing... http://www.youtube.com/watch?&v=z-g-cwdnudu An Example Mouse 2D

More information