Example: Building a Java GUI

Size: px
Start display at page:

Download "Example: Building a Java GUI"

Transcription

1 Steven Zeil October 25, 2013 Contents 1 Develop the Model 3 2 Develop the layout of those elements 4 3 Add listeners to the elements 12 4 Implement custom drawing 15 1

2 The StringArt Program To illustrate Java event handling, we ll look at a simple, but typical GUI interface to a graphic application StringArtjava Compiled version of this program The Process 1 Develop the model CS330 2

3 2 Select the GUI elements to portray the model 3 Develop the layout of those elements 4 Add listeners to the elements 5 Implement custom drawing 1 Develop the Model Develop the Model The model is the underlying data that is being manipulated and portrayed by the program In this example, we need enough info to arrange the strings of various colors at appropriate steps around the circle / / The Model private Color [ ] colors ; private int stepsize = 5 ; The array will hold two colors Select the GUI elements to portray the model The core elements we will need: a canvas on which to draw the graphics * This is generally done with a JPanel A text entry box (JTextField) in which to enter the step size CS330 3

4 Two buttons (JButton) to activate the color choices How do we choose these? It helps to know what s available 2 Develop the layout of those elements Develop the layout of those elements There are two common approaches to laying out GUIs Manual arrangement using a program similar to a graphics editor (Visio, Dia, etc) but with GUI elements as the building blocks Easy & quick Resulting layouts are often inflexible * Respond badly to window s being resized * Or to being displayed on smaller screens, different operating systems, window managers, etc Programmed arrangement Takes more effort * Though not much more given the need to program behaviors of the elements Code can implement policies for resizing CS330 4

5 Programmed Approach in Java Uses a combination of Container/nesting relationships Layout managers GUI Container Elements Some GUI elements are containers that hold other elements The size and position of the container constrains the possible positions of the elements within it Internal positioning is controlled by a layout manager GUI Elements in StringArt The outermost container is a window (JFrame) This is a container Specifically, it contains a content pane We add elements to the content pane The window s content pane will contain Our drawing canvas (JPanel) and, beneath that, A control panel (JPanel) The control panel will contain The two buttons for choosing colors the test extry box for the step size CS330 5

6 Structural Summary JFrame Container content pane 1 1 Canvas JPanel control panel 1 stepsize 1 JTextField JButton color choosers 2 Where Did the Control Panel Come From? Java has a handful of rules for easily arranging elements CS330 6

7 horizontal rows vertical columns grids arranged around a center, etc It s easiest to break a desired arrangement down into a combination of these eg, horizontal row within the control panel, and vertical within the window Programming the Containment GUI container elements are handled much like utility containers public void createandshowgui() { window = new JFrame(); canvas = new JPanel () { ; canvassetbackground(colorwhite); windowgetcontentpane()add (canvas, BorderLayoutCENTER); canvassetpreferredsize(new Dimension(400, 400)); JPanel controls = new JPanel(); colorchooser1 = new JButton("Color 1"); controlsadd (colorchooser1); colorchooser2 = new JButton("Color 2"); ❶ ❷ ❸ ❹ ❺ CS330 7

8 controlsadd (colorchooser2); stepsizein = new JTextField (""+stepsize, 5); controlsadd (stepsizein); windowgetcontentpane()add (controls, BorderLayoutSOUTH); windowpack(); windowsetvisible(true); ❻ ❼ ❶ Create the window ❷ Create the canvas ❸ Add the canvas to the window s content pane ❹ Create the control panel ❺ Create the buttons and text field and add to the control panel ❻ Add the control panel to the window s content pane ❼ Arrange the components of the GUI and display the window Laying out the components Java has several layout managers These give us several options for how to arrange our components Need to choose one for each container CS330 8

9 For the control panel, we want a horizontal row FlowLayout, BoxLayout, or BorderLayout would work FlowLayout is already the default for JPanels, so it s easiest to stick with that For the window s content pane, we want a vertical row BoxLayout or BorderLayout would work I chose BorderLayout Using Border Layout public void createandshowgui ( ) { window = new JFrame ( ) ; / / s e t up the components window getcontentpane ( ) setlayout ( new BorderLayout ( ) ) ; canvas = new JPanel ( ) { ; window getcontentpane ( ) add ( canvas, BorderLayout CENTER) ; JPanel controls = new JPanel ( ) ; window getcontentpane ( ) add ( controls, BorderLayout SOUTH) ; CS330 9

10 Miscellaneous Appearance Code public void createandshowgui() { window = new JFrame(); // set up the components windowgetcontentpane()setlayout (new BorderLayout()); canvas = new JPanel () { ; canvassetbackground(colorwhite); windowgetcontentpane()add (canvas, BorderLayoutCENTER); canvassetpreferredsize(new Dimension(400, 400)); ❶ JPanel controls = new JPanel(); colorchooser1 = new JButton("Color 1"); controlsadd (colorchooser1); setcolor(colorchooser1, colors[0]); colorchooser1addactionlistener (new ColorChooser(colorChooser1, 0)); colorchooser2 = new JButton("Color 2"); controlsadd (colorchooser2); setcolor(colorchooser2, colors[1]); colorchooser2addactionlistener (new ColorChooser(colorChooser2, 1)); stepsizein = new JTextField (""+stepsize, 5); controlsadd (stepsizein); stepsizeinaddactionlistener (new ActionListener() { CS330 10

11 public void actionperformed(actionevent e) { try { Integer newsize = new Integer(stepSizeIngetText()); stepsize = newsizeintvalue(); canvasrepaint(); catch (Exception ex) {; ); windowgetcontentpane()add (controls, BorderLayoutSOUTH); windowsetdefaultcloseoperation((startedinanapplet)? JFrameDISPOSE_ON_CLOSE : JFrameEXIT_ON_CLOSE); windowpack(); windowsetvisible(true); /** * Sets the background color of a button to the indicated color * Changes the foreground to wither black or white, depending on * which will give more contrast agasint the new background * button color */ private void setcolor(jbutton button, Color color) { ❷ buttonsetbackground(color); int brightness = colorgetred() + colorgetgreen() + colorgetblue(); // max of 3*255 if (brightness > 3*255/2) { // This is a fairly bright color Use black lettering buttonsetforeground (Colorblack); CS330 11

12 else { // This is a fairly dark color Use white lettering buttonsetforeground (Colorwhite); Most of the highlighted code is self-explanatory ❶ The canvas, a panel with no internal compoenents, has no natural size and tends to shrink to 0 0 if we aren t careful ❷ This utility function sets the background color of a button to match the color that it selects, and makes sure that the foreground color of the text is visible in contrast 3 Add listeners to the elements Add listeners to the elements We need to implement some behaviors Closing the window shuts down the program Entering a number in the text box changes the step size in the model Clicking a color button pops up a color selection dialog and updates the model Closing the Window Here we use a shorthand technqiue rather than create a full-fledged functor to listen: CS330 12

13 public void createandshowgui ( ) { window = new JFrame ( ) ; window setdefaultcloseoperation ( ( startedinanapplet )? JFrame DISPOSE_ON_CLOSE : JFrame EXIT_ON_CLOSE ) ; Entering the Step Size This is handled by an ActionListener, which is triggered when we hit Enter/Return with the cursor positioned in the text box stepsizein = new JTextField ( ""+stepsize, 5 ) ; controls add ( stepsizein ) ; stepsizein addactionlistener (new ActionListener ( ) { public void actionperformed ( ActionEvent e ) { try { Integer newsize = new Integer ( stepsizein gettext ( ) ) ; stepsize = newsize intvalue ( ) ; catch ( Exception ex ) { ; ) ; Color Selection Buttons notify an ActionListener when a button is clicked CS330 13

14 colorchooser1 = new JButton ( " Color 1" ) ; controls add ( colorchooser1 ) ; setcolor ( colorchooser1, colors [ 0 ] ) ; colorchooser1 addactionlistener ( new ColorChooser ( colorchooser1, 0 ) ) ; colorchooser2 = new JButton ( " Color 2" ) ; controls add ( colorchooser2 ) ; setcolor ( colorchooser2, colors [ 1 ] ) ; colorchooser2 addactionlistener ( new ColorChooser ( colorchooser2, 1 ) ) ; We implement this with our own subclass of ActionListener, ColorChooser ColorChooser private class ColorChooser implements ActionListener { private JButton button; ❶ private int colornum; public ColorChooser (JButton button, int colornum) { thisbutton = button; ❷ thiscolornum = public void actionperformed(actionevent arg0) { ❸ Color chosen = JColorChoosershowDialog(window, "Choose a color", colors[colornum]); if (chosen!= null) { colors[colornum] = chosen; ❹ CS330 14

15 ; setcolor (button, chosen); canvasrepaint(); ❶ Each ColorChooser object will remember which button it is attached to and which of the two colors it controls ❷ That info is gathered and remembered in the constructor ❸ Here is the function that we must provide if we are to implement ActionListener The JColorChooser invoked in the first line pops up the stnadard Java color selection box ❹ Once we have a selected color, we update the appropriate element of the model s colors array, and also change the button s coloring 4 Implement custom drawing Implement custom drawing The proper moment for drawing GUI elements is a bit tricky Think of some of the various situations in which all or part of a window needs to be redrawn: The program concludes some kind of computation and needs to display the results (ie, a program state change) We had previously clicked on the minimize/iconify control to reduce the window to an icon, and now we click on the icon to open it back up to a full window CS330 15

16 Implement custom drawing (cont) The window was completley or partially hidden beneath other windows and we Alt-tab to bring it back up to the top We drag another window or other item across the front of window, continuously hiding and revealing different potions of the window as we do so Any of these can force part or all of an application to need redrawing Some of these (state changes) are under direct program control Most are not paint and repaint Most GUI elements already take care of drawing themselves For elements with customized appearance: Programmer provides a paint function canvas = new JPanel ( ) { public void paint ( Graphics g ) { super paint ( g ) ; drawlines ( g, getsize ( ) ) ; ; Paint and Repaint We never call paint directly We call repaint() CS330 16

17 That asks the system to schedule a call to paint for sometime in the near future One reason for this indirect approach is that some actions (eg, dragging things on the screen) can result in lots of repaint requests being sent within a very short period of time If we actually had to redraw the GUI that often, machines with slower CPUs or graphics could be overwhelmed The run-time system is allowed to "buffer" multiple requests to repaint the same GUI elements, so long as it does eventually call paint() Repainting the StringArt Canvas private class ColorChooser implements ActionListener { private JButton button; private int colornum; public ColorChooser (JButton button, int colornum) { thisbutton = button; thiscolornum = colornum; public void actionperformed(actionevent arg0) { Color chosen = JColorChoosershowDialog(window, "Choose a color", colors[colornum]); if (chosen!= null) { colors[colornum] = chosen; setcolor (button, chosen); canvasrepaint(); CS330 17

18 public void createandshowgui() { window = new JFrame(); // set up the components windowgetcontentpane()setlayout (new BorderLayout()); canvas = new JPanel () { public void paint (Graphics g) { superpaint(g); drawlines (g, getsize()); ; canvassetbackground(colorwhite); windowgetcontentpane()add (canvas, BorderLayoutCENTER); canvassetpreferredsize(new Dimension(400, 400)); JPanel controls = new JPanel(); colorchooser1 = new JButton("Color 1"); controlsadd (colorchooser1); setcolor(colorchooser1, colors[0]); colorchooser1addactionlistener (new ColorChooser(colorChooser1, 0)); colorchooser2 = new JButton("Color 2"); controlsadd (colorchooser2); setcolor(colorchooser2, colors[1]); colorchooser2addactionlistener (new ColorChooser(colorChooser2, 1)); stepsizein = new JTextField (""+stepsize, 5); controlsadd (stepsizein); stepsizeinaddactionlistener (new ActionListener() { CS330 18

19 public void actionperformed(actionevent e) { try { Integer newsize = new Integer(stepSizeIngetText()); stepsize = newsizeintvalue(); canvasrepaint(); catch (Exception ex) {; ); windowgetcontentpane()add (controls, BorderLayoutSOUTH); windowsetdefaultcloseoperation((startedinanapplet)? JFrameDISPOSE_ON_CLOSE : JFrameEXIT_ON_CLOSE); windowpack(); windowsetvisible(true); We request a repaint of the canvas after any operation that could change its appearance The Full Listing import javaawtborderlayout; import javaawtcolor; import javaawtdimension; import javaawtgraphics; import javaawteventactionevent; import javaawteventactionlistener; import javaawteventitemevent; import javaawteventitemlistener; CS330 19

20 import javaxswingjapplet; import javaxswingjbutton; import javaxswingjcolorchooser; import javaxswingjcombobox; import javaxswingjframe; import javaxswingjpanel; import javaxswingjtextfield; /** * A simple example of GUI event handling in a Java application * * This can be run as a main program or as an applet * zeil * */ public class StringArt extends JApplet { private boolean startedinanapplet; // The Model private Color[] colors; private int stepsize = 5; // The View & Controls private JFrame window; private JPanel canvas; private JButton colorchooser1; private JButton colorchooser2; CS330 20

21 private JTextField stepsizein; private class ColorChooser implements ActionListener { private JButton button; private int colornum; public ColorChooser (JButton button, int colornum) { thisbutton = button; thiscolornum = colornum; public void actionperformed(actionevent arg0) { Color chosen = JColorChoosershowDialog(window, "Choose a color", colors[colornum]); if (chosen!= null) { colors[colornum] = chosen; setcolor (button, chosen); canvasrepaint(); public StringArt() { startedinanapplet = false; window = null; colors = new Color[2]; colors[0] = Colorred; colors[1] = Colorblue; CS330 21

22 public static void main (String[] args) { StringArt instance = new StringArt(); instancecreateandshowgui(); public void createandshowgui() { window = new JFrame(); // set up the components windowgetcontentpane()setlayout (new BorderLayout()); canvas = new JPanel () { public void paint (Graphics g) { superpaint(g); drawlines (g, getsize()); ; canvassetbackground(colorwhite); windowgetcontentpane()add (canvas, BorderLayoutCENTER); canvassetpreferredsize(new Dimension(400, 400)); JPanel controls = new JPanel(); colorchooser1 = new JButton("Color 1"); controlsadd (colorchooser1); setcolor(colorchooser1, colors[0]); colorchooser1addactionlistener (new ColorChooser(colorChooser1, 0)); colorchooser2 = new JButton("Color 2"); CS330 22

23 controlsadd (colorchooser2); setcolor(colorchooser2, colors[1]); colorchooser2addactionlistener (new ColorChooser(colorChooser2, 1)); stepsizein = new JTextField (""+stepsize, 5); controlsadd (stepsizein); stepsizeinaddactionlistener (new ActionListener() { public void actionperformed(actionevent e) { try { Integer newsize = new Integer(stepSizeIngetText()); stepsize = newsizeintvalue(); canvasrepaint(); catch (Exception ex) {; ); windowgetcontentpane()add (controls, BorderLayoutSOUTH); windowsetdefaultcloseoperation((startedinanapplet)? JFrameDISPOSE_ON_CLOSE : JFrameEXIT_ON_CLOSE); windowpack(); windowsetvisible(true); /** * Sets the background color of a button to the indicated color * Changes the foreground to wither black or white, depending on * which will give more contrast agasint the new background * button CS330 23

24 color */ private void setcolor(jbutton button, Color color) { buttonsetbackground(color); int brightness = colorgetred() + colorgetgreen() + colorgetblue(); // max of 3*255 if (brightness > 3*255/2) { // This is a fairly bright color Use black lettering buttonsetforeground (Colorblack); else { // This is a fairly dark color Use white lettering buttonsetforeground (Colorwhite); // Applet functions public void init() { startedinanapplet = true; public void start() { if (window == null) createandshowgui(); public void stop() { public void destroy() { CS330 24

25 int interpolate (int x, int y, int i, int steps) { return (i * x + (steps-i)*y) / steps; Color interpolate(color c1, Color c2, int i, int steps) { return new Color (interpolate(c1getred(), c2getred(), i, steps), interpolate(c1getgreen(), c2getgreen(), i, steps), interpolate(c1getblue(), c2getblue(), i, steps)); class Point { double x; double y; Point ptoncircle (int degrees, int radius, Point center) { Point p = new Point(); double theta = MathtoRadians((double)degrees); px = centerx + (double)radius * Mathcos(theta); py = centery + (double)radius * Mathsin(theta); return p; CS330 25

26 public void drawlines(graphics g, Dimension d) { int dmin = (dwidth < dheight)? dwidth : dheight; if (stepsize < 1) stepsize = 1; Point center = new Point(); centerx = (double)dwidth/20; centery = (double)dheight/20; for (int i = 0; i < 60; ++i) { Point origin = ptoncircle(6*i, dmin/2, center); int j = i + stepsize; while (j >= 60) j -= 60; while (i!= j) { Point destination = ptoncircle(6*j, dmin/2, center); gsetcolor(interpolate(interpolate(colors[0], colors[1], i%30, 30), interpolate(colors[0], colors[1], j, 60), 1, 2)); gdrawline ((int)originx, (int)originy, (int)destinationx, (int)destinationy); j += stepsize; while (j >= 60) j -= 60; CS330 26

27 CS330 27

Example: Building a Java GUI

Example: Building a Java GUI Steven Zeil October 25, 2013 Contents 1 Develop the Model 2 2 Develop the layout of those elements 3 3 Add listeners to the elements 9 4 Implement custom drawing 12 1 The StringArt Program To illustrate

More information

Multi-Threading : Doing Things in Parallel

Multi-Threading : Doing Things in Parallel Steven Zeil November 17, 2013 Contents 1 Overview 3 1.1 Fundamental Ideas............ 3 1.2 Parallel versus Concurrent........ 8 2 Spawning Processes 10 2.1 Processes in Unix - Fork......... 11 2.2 Heavy

More information

Multi-Threading : Doing Things in Parallel

Multi-Threading : Doing Things in Parallel Steven Zeil November 17, 2013 Contents 1 Overview 2 1.1 Fundamental Ideas....... 2 1.2 Parallel versus Concurrent... 7 2 Spawning Processes 8 2.1 Processes in Unix - Fork.... 8 2.2 Heavy & Light Weight

More information

PIC 20A GUI with swing

PIC 20A GUI with swing PIC 20A GUI with swing Ernest Ryu UCLA Mathematics Last edited: November 22, 2017 Hello swing Let s create a JFrame. import javax. swing.*; public class Test { public static void main ( String [] args

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

17 GUI API: Container 18 Hello world with a GUI 19 GUI API: JLabel 20 GUI API: Container: add() 21 Hello world with a GUI 22 GUI API: JFrame: setdefau

17 GUI API: Container 18 Hello world with a GUI 19 GUI API: JLabel 20 GUI API: Container: add() 21 Hello world with a GUI 22 GUI API: JFrame: setdefau List of Slides 1 Title 2 Chapter 13: Graphical user interfaces 3 Chapter aims 4 Section 2: Example:Hello world with a GUI 5 Aim 6 Hello world with a GUI 7 Hello world with a GUI 8 Package: java.awt and

More information

Command-Line Applications. GUI Libraries GUI-related classes are defined primarily in the java.awt and the javax.swing packages.

Command-Line Applications. GUI Libraries GUI-related classes are defined primarily in the java.awt and the javax.swing packages. 1 CS257 Computer Science I Kevin Sahr, PhD Lecture 14: Graphical User Interfaces Command-Line Applications 2 The programs we've explored thus far have been text-based applications A Java application is

More information

Starting Out with Java: From Control Structures Through Objects Sixth Edition

Starting Out with Java: From Control Structures Through Objects Sixth Edition Starting Out with Java: From Control Structures Through Objects Sixth Edition Chapter 12 A First Look at GUI Applications Chapter Topics 12.1 Introduction 12.2 Creating Windows 12.3 Equipping GUI Classes

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

Agenda. Container and Component

Agenda. Container and Component Agenda Types of GUI classes/objects Step-by-step guide to create a graphic user interface Step-by-step guide to event-handling PS5 Problem 1 PS5 Problem 2 Container and Component There are two types of

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

Java Swing. Recitation 11/(20,21)/2008. CS 180 Department of Computer Science, Purdue University

Java Swing. Recitation 11/(20,21)/2008. CS 180 Department of Computer Science, Purdue University Java Swing Recitation 11/(20,21)/2008 CS 180 Department of Computer Science, Purdue University Announcements Project 8 is out Milestone due on Dec 3rd, 10:00 pm Final due on Dec 10th, 10:00 pm No classes,

More information

Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written.

Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written. SOLUTION HAND IN Answers Are Recorded on Question Paper QUEEN'S UNIVERSITY SCHOOL OF COMPUTING CISC212, FALL TERM, 2006 FINAL EXAMINATION 7pm to 10pm, 19 DECEMBER 2006, Jeffrey Hall 1 st Floor Instructor:

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

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

AP CS Unit 11: Graphics and Events

AP CS Unit 11: Graphics and Events AP CS Unit 11: Graphics and Events This packet shows how to create programs with a graphical interface in a way that is consistent with the approach used in the Elevens program. Copy the following two

More information

Window Interfaces Using Swing. Chapter 12

Window Interfaces Using Swing. Chapter 12 Window Interfaces Using Swing 1 Reminders Project 7 due Nov 17 @ 10:30 pm Project 6 grades released: regrades due by next Friday (11-18-2005) at midnight 2 GUIs - Graphical User Interfaces Windowing systems

More information

Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written.

Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written. QUEEN'S UNIVERSITY SCHOOL OF COMPUTING HAND IN Answers Are Recorded on Question Paper CMPE212, FALL TERM, 2012 FINAL EXAMINATION 18 December 2012, 2pm Instructor: Alan McLeod If the instructor is unavailable

More information

COMP16121 Sample Code Lecture 1

COMP16121 Sample Code Lecture 1 COMP16121 Sample Code Lecture 1 Sean Bechhofer, University of Manchester, Manchester, UK sean.bechhofer@manchester.ac.uk 1 SimpleFrame 1 import javax.swing.jframe; 2 3 public class SimpleFrame { 4 5 /*

More information

Lecture 3: Java Graphics & Events

Lecture 3: Java Graphics & Events Lecture 3: Java Graphics & Events CS 62 Fall 2017 Kim Bruce & Alexandra Papoutsaki Text Input Scanner class Constructor: myscanner = new Scanner(System.in); can use file instead of System.in new Scanner(new

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

Building a GUI in Java with Swing. CITS1001 extension notes Rachel Cardell-Oliver

Building a GUI in Java with Swing. CITS1001 extension notes Rachel Cardell-Oliver Building a GUI in Java with Swing CITS1001 extension notes Rachel Cardell-Oliver Lecture Outline 1. Swing components 2. Building a GUI 3. Animating the GUI 2 Swing A collection of classes of GUI components

More information

CS 251 Intermediate Programming GUIs: Event Listeners

CS 251 Intermediate Programming GUIs: Event Listeners CS 251 Intermediate Programming GUIs: Event Listeners Brooke Chenoweth University of New Mexico Fall 2017 What is an Event Listener? A small class that implements a particular listener interface. Listener

More information

Java Programming Lecture 6

Java Programming Lecture 6 Java Programming Lecture 6 Alice E. Fischer Feb 15, 2013 Java Programming - L6... 1/32 Dialog Boxes Class Derivation The First Swing Programs: Snow and Moving The Second Swing Program: Smile Swing Components

More information

Java Interfaces Part 1 - Events Version 1.1

Java Interfaces Part 1 - Events Version 1.1 Java Interfaces Part 1 - Events Version 1.1 By Dr. Nicholas Duchon July 22, 2007 Page 1 Overview Philosophy Large Scale Java Language Structures Abstract classes Declarations Extending a abstract classes

More information

SampleApp.java. Page 1

SampleApp.java. Page 1 SampleApp.java 1 package msoe.se2030.sequence; 2 3 /** 4 * This app creates a UI and processes data 5 * @author hornick 6 */ 7 public class SampleApp { 8 private UserInterface ui; // the UI for this program

More information

Introduction. Introduction

Introduction. Introduction Introduction Many Java application use a graphical user interface or GUI (pronounced gooey ). A GUI is a graphical window or windows that provide interaction with the user. GUI s accept input from: the

More information

Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written.

Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written. HAND IN Answers Are Recorded on Question Paper QUEEN'S UNIVERSITY SCHOOL OF COMPUTING CISC212, FALL TERM, 2006 FINAL EXAMINATION 7pm to 10pm, 19 DECEMBER 2006, Jeffrey Hall 1 st Floor Instructor: Alan

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

Final Exam CS 251, Intermediate Programming December 13, 2017

Final Exam CS 251, Intermediate Programming December 13, 2017 Final Exam CS 251, Intermediate Programming December 13, 2017 Name: NetID: Answer all questions in the space provided. Write clearly and legibly, you will not get credit for illegible or incomprehensible

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

AP CS Unit 12: Drawing and Mouse Events

AP CS Unit 12: Drawing and Mouse Events AP CS Unit 12: Drawing and Mouse Events A JPanel object can be used as a container for other objects. It can also be used as an object that we can draw on. The first example demonstrates how to do that.

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

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

Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written.

Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written. Solution HAND IN Answers Are Recorded on Question Paper QUEEN'S UNIVERSITY SCHOOL OF COMPUTING CISC212, FALL TERM, 2007 FINAL EXAMINATION 7pm to 10pm, 10 DECEMBER 2007, Jeffery Hall Instructor: Alan McLeod

More information

Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written.

Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written. HAND IN Answers Are Recorded on Question Paper QUEEN'S UNIVERSITY SCHOOL OF COMPUTING CISC124, WINTER TERM, 2009 FINAL EXAMINATION 7pm to 10pm, 18 APRIL 2009, Dunning Hall Instructor: Alan McLeod If the

More information

Swing I CHAPTER EVENT-DRIVEN PROGRAMMING 921 Events and Listeners 921

Swing I CHAPTER EVENT-DRIVEN PROGRAMMING 921 Events and Listeners 921 CHAPTER 17 Swing I 17.1 EVENT-DRIVEN PROGRAMMING 921 Events and Listeners 921 17.2 BUTTONS, EVENTS, AND OTHER SWING BASICS 923 Example: A Simple Window 923 Buttons 930 Action Listeners and Action Events

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

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

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

Graphical User Interfaces. Comp 152

Graphical User Interfaces. Comp 152 Graphical User Interfaces Comp 152 Procedural programming Execute line of code at a time Allowing for selection and repetition Call one function and then another. Can trace program execution on paper from

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

User interfaces and Swing

User interfaces and Swing User interfaces and Swing Overview, applets, drawing, action listening, layout managers. APIs: java.awt.*, javax.swing.*, classes names start with a J. Java Lectures 1 2 Applets public class Simple extends

More information

CompSci 125 Lecture 17. GUI: Graphics, Check Boxes, Radio Buttons

CompSci 125 Lecture 17. GUI: Graphics, Check Boxes, Radio Buttons CompSci 125 Lecture 17 GUI: Graphics, Check Boxes, Radio Buttons Announcements GUI Review Review: Inheritance Subclass is a Parent class Includes parent s features May Extend May Modify extends! Parent

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

Swing I Event-Driven Programming Buttons, Events, and Other Swing Basics Containers and Layout Managers 946

Swing I Event-Driven Programming Buttons, Events, and Other Swing Basics Containers and Layout Managers 946 17.1 Event-Driven Programming 925 Events and Listeners 925 17.2 Buttons, Events, and Other Swing Basics 926 Example: A Simple Window 927 Buttons 933 Action Listeners and Action Events 934 Example: A Better

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

Part 3: Graphical User Interface (GUI) & Java Applets

Part 3: Graphical User Interface (GUI) & Java Applets 1,QWURGXFWLRQWR-DYD3URJUDPPLQJ (( Part 3: Graphical User Interface (GUI) & Java Applets EE905-GUI 7RSLFV Creating a Window Panels Event Handling Swing GUI Components ƒ Layout Management ƒ Text Field ƒ

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

Graphical User Interface (GUI) components in Java Applets. With Abstract Window Toolkit (AWT) we can build an applet that has the basic GUI

Graphical User Interface (GUI) components in Java Applets. With Abstract Window Toolkit (AWT) we can build an applet that has the basic GUI CBOP3203 Graphical User Interface (GUI) components in Java Applets. With Abstract Window Toolkit (AWT) we can build an applet that has the basic GUI components like button, text input, scroll bar and others.

More information

Part I: Learn Common Graphics Components

Part I: Learn Common Graphics Components OOP GUI Components and Event Handling Page 1 Objectives 1. Practice creating and using graphical components. 2. Practice adding Event Listeners to handle the events and do something. 3. Learn how to connect

More information

Building Java Programs Bonus Slides

Building Java Programs Bonus Slides Building Java Programs Bonus Slides Graphical User Interfaces Copyright (c) Pearson 2013. All rights reserved. Graphical input and output with JOptionPane JOptionPane An option pane is a simple dialog

More information

APPENDIX. public void cekroot() { System.out.println("nilai root : "+root.data); }

APPENDIX. public void cekroot() { System.out.println(nilai root : +root.data); } APPENDIX CLASS NODE AS TREE OBJECT public class Node public int data; public Node left; public Node right; public Node parent; public Node(int i) data=i; PROCEDURE BUILDING TREE public class Tree public

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

Graphical User Interfaces in Java - SWING

Graphical User Interfaces in Java - SWING Graphical User Interfaces in Java - SWING Graphical User Interfaces (GUI) Each graphical component that the user can see on the screen corresponds to an object of a class Component: Window Button Menu...

More information

Frames, GUI and events. Introduction to Swing Structure of Frame based applications Graphical User Interface (GUI) Events and event handling

Frames, GUI and events. Introduction to Swing Structure of Frame based applications Graphical User Interface (GUI) Events and event handling Frames, GUI and events Introduction to Swing Structure of Frame based applications Graphical User Interface (GUI) Events and event handling Introduction to Swing The Java AWT (Abstract Window Toolkit)

More information

More about GUIs GEEN163

More about GUIs GEEN163 More about GUIs GEEN163 The best programmers are not marginally better than merely good ones. They are an order-ofmagnitude better, measured by whatever standard: conceptual creativity, speed, ingenuity

More information

Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written.

Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written. HAND IN Answers Are Recorded on Question Paper QUEEN'S UNIVERSITY SCHOOL OF COMPUTING CISC212, FALL TERM, 2007 FINAL EXAMINATION 7pm to 10pm, 10 DECEMBER 2007, Jeffery Hall Instructor: Alan McLeod If the

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

Graphical User Interfaces (GUIs)

Graphical User Interfaces (GUIs) CMSC 132: Object-Oriented Programming II Graphical User Interfaces (GUIs) Department of Computer Science University of Maryland, College Park Model-View-Controller (MVC) Model for GUI programming (Xerox

More information

SINGLE EVENT HANDLING

SINGLE EVENT HANDLING SINGLE EVENT HANDLING Event handling is the process of responding to asynchronous events as they occur during the program run. An event is an action that occurs externally to your program and to which

More information

PART 22. Java GUI Library SWT GUI Library SWING GUI Library Swing First Program

PART 22. Java GUI Library SWT GUI Library SWING GUI Library Swing First Program PART 22 Java GUI Library 22.1 SWT GUI Library There is also another GUI library for the Java programming language. It is called SWT (The Standard widget toolkit). The SWT library was initially developed

More information

public static void main(string[] args) { GTest mywindow = new GTest(); // Title This program creates the following window and makes it visible:

public static void main(string[] args) { GTest mywindow = new GTest(); // Title This program creates the following window and makes it visible: Basics of Drawing Lines, Shapes, Reading Images To draw some simple graphics, we first need to create a window. The easiest way to do this in the current version of Java is to create a JFrame object which

More information

Goals. Lecture 7 More GUI programming. The application. The application D&D 12. CompSci 230: Semester JFrame subclass: ListOWords

Goals. Lecture 7 More GUI programming. The application. The application D&D 12. CompSci 230: Semester JFrame subclass: ListOWords Goals By the end of this lesson, you should: Lecture 7 More GUI programming 1. Be able to write Java s with JTextField, JList, JCheckBox and JRadioButton components 2. Be able to implement a ButtonGroup

More information

Virtualians.ning.pk. 2 - Java program code is compiled into form called 1. Machine code 2. native Code 3. Byte Code (From Lectuer # 2) 4.

Virtualians.ning.pk. 2 - Java program code is compiled into form called 1. Machine code 2. native Code 3. Byte Code (From Lectuer # 2) 4. 1 - What if the main method is declared as private? 1. The program does not compile 2. The program compiles but does not run 3. The program compiles and runs properly ( From Lectuer # 2) 4. The program

More information

Parts of a Contract. Contract Example. Interface as a Contract. Wednesday, January 30, 13. Postcondition. Preconditions.

Parts of a Contract. Contract Example. Interface as a Contract. Wednesday, January 30, 13. Postcondition. Preconditions. Parts of a Contract Syntax - Method signature Method name Parameter list Return type Semantics - Comments Preconditions: requirements placed on the caller Postconditions: what the method modifies and/or

More information

encompass a group of features for building Graphical User Interfaces (GUI).

encompass a group of features for building Graphical User Interfaces (GUI). Java GUI (intro) JFC Java Foundation Classes encompass a group of features for building Graphical User Interfaces (GUI). javax.swing.* used for building GUIs. Some basic functionality is already there

More information

G51PRG: Introduction to Programming Second semester Applets and graphics

G51PRG: Introduction to Programming Second semester Applets and graphics G51PRG: Introduction to Programming Second semester Applets and graphics Natasha Alechina School of Computer Science & IT nza@cs.nott.ac.uk Previous two lectures AWT and Swing Creating components and putting

More information

ming 3 Resize the Size to [700, 500]. Note that the background containers in the program code: reference the then under () { 153, 255, 0 ) );

ming 3 Resize the Size to [700, 500]. Note that the background containers in the program code: reference the then under () { 153, 255, 0 ) ); ECCS 166 Programm ming 3 Dr. Estell Spring Quarter 20111 Laboratory Assignmen nt 7 Graphics and Polymorphism 15 April 2011 1. The purpose of the next few laboratory assignments is to create a simple drawing

More information

Systems Programming. Bachelor in Telecommunication Technology Engineering Bachelor in Communication System Engineering Carlos III University of Madrid

Systems Programming. Bachelor in Telecommunication Technology Engineering Bachelor in Communication System Engineering Carlos III University of Madrid Systems Programming Bachelor in Telecommunication Technology Engineering Bachelor in Communication System Engineering Carlos III University of Madrid Leganés, 21st of March, 2014. Duration: 75 min. Full

More information

COMP-202 Unit 10: Basics of GUI Programming (Non examinable) (Caveat: Dan is not an expert in GUI programming, so don't take this for gospel :) )

COMP-202 Unit 10: Basics of GUI Programming (Non examinable) (Caveat: Dan is not an expert in GUI programming, so don't take this for gospel :) ) COMP-202 Unit 10: Basics of GUI Programming (Non examinable) (Caveat: Dan is not an expert in GUI programming, so don't take this for gospel :) ) Course Evaluations Please do these. -Fast to do -Used to

More information

Calculator Class. /** * Create a new calculator and show it. */ public Calculator() { engine = new CalcEngine(); gui = new UserInterface(engine); }

Calculator Class. /** * Create a new calculator and show it. */ public Calculator() { engine = new CalcEngine(); gui = new UserInterface(engine); } A Calculator Project This will be our first exposure to building a Graphical User Interface (GUI) in Java The functions of the calculator are self-evident The Calculator class creates a UserInterface Class

More information

2IS45 Programming

2IS45 Programming Course Website Assignment Goals 2IS45 Programming http://www.win.tue.nl/~wsinswan/programmeren_2is45/ Rectangles Learn to use existing Abstract Data Types based on their contract (class Rectangle in Rectangle.

More information

Page 1 of 16. Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written.

Page 1 of 16. Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written. Page 1 of 16 SOLUTION HAND IN Answers Are Recorded on Question Paper QUEEN'S UNIVERSITY SCHOOL OF COMPUTING CISC212, FALL TERM, 2005 FINAL EXAMINATION 9am to 12noon, 19 DECEMBER 2005 Instructor: Alan McLeod

More information

Prototyping a Swing Interface with the Netbeans IDE GUI Editor

Prototyping a Swing Interface with the Netbeans IDE GUI Editor Prototyping a Swing Interface with the Netbeans IDE GUI Editor Netbeans provides an environment for creating Java applications including a module for GUI design. Here we assume that we have some existing

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

Welcome to CIS 068! 1. GUIs: JAVA Swing 2. (Streams and Files we ll not cover this in this semester, just a review) CIS 068

Welcome to CIS 068! 1. GUIs: JAVA Swing 2. (Streams and Files we ll not cover this in this semester, just a review) CIS 068 Welcome to! 1. GUIs: JAVA Swing 2. (Streams and Files we ll not cover this in this semester, just a review) Overview JAVA and GUIs: SWING Container, Components, Layouts Using SWING Streams and Files Text

More information

Class 16: The Swing Event Model

Class 16: The Swing Event Model Introduction to Computation and Problem Solving Class 16: The Swing Event Model Prof. Steven R. Lerman and Dr. V. Judson Harward 1 The Java Event Model Up until now, we have focused on GUI's to present

More information

Chapter 7: A First Look at GUI Applications

Chapter 7: A First Look at GUI Applications Chapter 7: A First Look at GUI Applications Starting Out with Java: From Control Structures through Objects Fourth Edition by Tony Gaddis Addison Wesley is an imprint of 2010 Pearson Addison-Wesley. All

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

!"# $ %&# %####' #&() % # # # #&* # ## +, # -

!# $ %&# %####' #&() % # # # #&* # ## +, # - By Pep Jorge @joseplluisjorge Steema Software July 213!"# $ %&# %####' #&() % # # # #&* # ## +, # -. / " - $- * 11 1 1$ 2 11 1 3 4 / $ 5 5,+67 +68$ Copyright 213 Steema Software SL. Copyright Information.

More information

Graphical User Interface (GUI)

Graphical User Interface (GUI) Graphical User Interface (GUI) An example of Inheritance and Sub-Typing 1 Java GUI Portability Problem Java loves the idea that your code produces the same results on any machine The underlying hardware

More information

Lab & Assignment 1. Lecture 3: ArrayList & Standard Java Graphics. Random Number Generator. Read Lab & Assignment Before Lab Wednesday!

Lab & Assignment 1. Lecture 3: ArrayList & Standard Java Graphics. Random Number Generator. Read Lab & Assignment Before Lab Wednesday! Lab & Assignment 1 Lecture 3: ArrayList & Standard Java Graphics CS 62 Fall 2015 Kim Bruce & Michael Bannister Strip with 12 squares & 5 silver dollars placed randomly on the board. Move silver dollars

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

Name Section. CS 21a Introduction to Computing I 1 st Semester Final Exam

Name Section. CS 21a Introduction to Computing I 1 st Semester Final Exam CS a Introduction to Computing I st Semester 00-00 Final Exam Write your name on each sheet. I. Multiple Choice. Encircle the letter of the best answer. ( points each) Answer questions and based on the

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

FirstSwingFrame.java Page 1 of 1

FirstSwingFrame.java Page 1 of 1 FirstSwingFrame.java Page 1 of 1 2: * A first example of using Swing. A JFrame is created with 3: * a label and buttons (which don t yet respond to events). 4: * 5: * @author Andrew Vardy 6: */ 7: import

More information

AnimatedImage.java. Page 1

AnimatedImage.java. Page 1 1 import javax.swing.japplet; 2 import javax.swing.jbutton; 3 import javax.swing.jpanel; 4 import javax.swing.jcombobox; 5 import javax.swing.jlabel; 6 import javax.swing.imageicon; 7 import javax.swing.swingutilities;

More information

Datenbank-Praktikum. Universität zu Lübeck Sommersemester 2006 Lecture: Swing. Ho Ngoc Duc 1

Datenbank-Praktikum. Universität zu Lübeck Sommersemester 2006 Lecture: Swing. Ho Ngoc Duc 1 Datenbank-Praktikum Universität zu Lübeck Sommersemester 2006 Lecture: Swing Ho Ngoc Duc 1 Learning objectives GUI applications Font, Color, Image Running Applets as applications Swing Components q q Text

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

Dr. Hikmat A. M. AbdelJaber

Dr. Hikmat A. M. AbdelJaber Dr. Hikmat A. M. AbdelJaber Portion of the Java class hierarchy that include basic graphics classes and Java 2D API classes and interfaces. java.lang.object Java.awt.Color Java.awt.Component Java.awt.Container

More information

Control Flow: Overview CSE3461. An Example of Sequential Control. Control Flow: Revisited. Control Flow Paradigms: Reacting to the User

Control Flow: Overview CSE3461. An Example of Sequential Control. Control Flow: Revisited. Control Flow Paradigms: Reacting to the User CSE3461 Control Flow Paradigms: Reacting to the User Control Flow: Overview Definition of control flow: The sequence of execution of instructions in a program. Control flow is determined at run time by

More information

State Application Using MVC

State Application Using MVC State Application Using MVC 1. Getting ed: Stories and GUI Sketch This example illustrates how applications can be thought of as passing through different states. The code given shows a very useful way

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

MIT AITI Swing Event Model Lecture 17

MIT AITI Swing Event Model Lecture 17 MIT AITI 2004 Swing Event Model Lecture 17 The Java Event Model In the last lecture, we learned how to construct a GUI to present information to the user. But how do GUIs interact with users? How do applications

More information

Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written.

Proctors are unable to respond to queries about the interpretation of exam questions. Do your best to answer exam questions as written. SOLUTION HAND IN Answers Are Recorded on Question Paper QUEEN'S UNIVERSITY SCHOOL OF COMPUTING CISC124, WINTER TERM, 2009 FINAL EXAMINATION 7pm to 10pm, 18 APRIL 2009, Dunning Hall Instructor: Alan McLeod

More information

+! Today. Lecture 3: ArrayList & Standard Java Graphics 1/26/14! n Reading. n Objectives. n Reminders. n Standard Java Graphics (on course webpage)

+! Today. Lecture 3: ArrayList & Standard Java Graphics 1/26/14! n Reading. n Objectives. n Reminders. n Standard Java Graphics (on course webpage) +! Lecture 3: ArrayList & Standard Java Graphics +! Today n Reading n Standard Java Graphics (on course webpage) n Objectives n Review for this week s lab and homework assignment n Miscellanea (Random,

More information

CS 3331 Advanced Object-Oriented Programming Final Exam

CS 3331 Advanced Object-Oriented Programming Final Exam Fall 2015 (Thursday, December 3) Name: CS 3331 Advanced Object-Oriented Programming Final Exam This test has 5 questions and pages numbered 1 through 10. Reminders This test is closed-notes and closed-book.

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