Fachbereich Informatik und Elektrotechnik Java Swing. Advanced Java. Java Swing Programming. Programming in Java, Helmut Dispert

Size: px
Start display at page:

Download "Fachbereich Informatik und Elektrotechnik Java Swing. Advanced Java. Java Swing Programming. Programming in Java, Helmut Dispert"

Transcription

1 Java Swing Advanced Java Java Swing Programming

2 Java Swing Design Goals The overall goal for the Swing project was: To build a set of extensible GUI components to enable developersto more rapidly develop powerful Java front ends for commercial applications. The design goals mandated that Swing would: 1. Be implemented entirely in Javato promote cross-platform consistency and easier maintenance. 2. Provide a single API capable of supporting multiple look-and-feelsso that developers and end-users would not be locked into a single look-and-feel. Enable the power of model-driven programmingwithout requiring it in the highest-level API. 3. Adhere to JavaBeans design principlesto ensure that components behave well in IDEs and builder tools. 4. Provide compatibility with AWT APIs where there is overlapping, to leverage the AWT knowledge base and ease porting. Ref.: Sun Microsystems

3 Contents Introduction History JFC Java Foundation Classes What makes Swing so special? Lightweight Components PLAF MVC Delegation Event Model How touseswing Components JComponent Layouts Example Summary

4 AWT Problems with the AWT AWTis not functional enough for full scale applications small widget library widgets have only basic functionality extensions commonly needed AWT Components rely on native peers no platform independency: widgets do not perform exactly the same on different platforms Widget = Window Gadget

5 AWT vs. Swing APIs Java AWT (Abstract Windowing Toolkit) Package: java.awt GUI functionality (graphical user interface) Component libraries: labels, buttons, textfields, etc. (platform dependent) Helper classes: event handling, layout managers (window layouts), etc. The Swing APIs Package: javax.swing Greater platform independence - portable "look and feel" (buttons, etc.) AWT and Swing are part of the JFC (Java Foundation Classes) Easy upgrading using "J": Applet JApplet Button JButton

6 Classes, Packages java.lang.object java.awt.component java.awt.container java.awt.panel java.applet.applet Component Container Panel Applet

7 Class JApplet java.lang.object java.awt.component java.awt.container java.awt.panel java.applet.applet javax.swing.japplet Class JApplet: An extended version of java.applet.applet that adds support for the JFC/Swing component architecture. Component Container Panel Applet JApplet

8 Classes, Packages Syntax: public class Name extends java.applet.applet {... } imported package class

9 JFC Java Foundation Classes AWT Swing Accessibility 2D API Drag and Drop AWT: the original GUI toolkit Swing: the new GUI toolkit Accessibility: tools to develop support for users challenged by traditional UI s 2D API: classes for more complex use of painting, shape, colour, and fonts Drag and Drop: tools for implementing the transfer of information between Java applications and native applications

10 JFC Java Foundation Classes consist of: Abstract Windowing Toolkit(AWT) Swing Ab JDK1.2 Leichtgewichtige Komponenten (ohne Betriebsystem Support) Die Swing-Klassenbibliothek baut auf AWT auf und erweitert diese um Komponenten und dem Model-View-Controller(MVC) Java 2D Erstellen und bearbeiten von Bildern und 2D Grafiken Drag and Drop Verschieben mit der Maus Accessibility Schnittstelle zur Einbindung zusätzlicher Ein- und Ausgabegeräte. continued

11 JFC Java Foundation Classes consist of: Abstract Windowing Toolkit (AWT) Schwergewichtige Komponenten (verwenden betriebsystemnahe Funktionen) Umfasst drei Elemente Komponenten Oberflächenelemente Beispiel: Buttons, Labels,... Container Gruppieren und enthalten Oberflächenelemente Beispiel: Fenster Layout Manager Legen fest, wie die Komponenten im Container angesprochen werden können Beispiel: Border Layout (Nord, Süd, Ost, West, Center)

12 AWT Architecture of the Swing Class Library OS-independent part of API OS-dependent part of API Motif ButtonPeer Button ButtonPeer Windows ButtonPeer The button peer interface specifies the methods that all implementations of Abstract Window Toolkit buttons must define.

13 Swing Components Concept of Java peers: When instantiating an AWT component the native environment creates the component. User sees the native look-and-feel, component acts like the native control. Peer: native code that provides this look-and-feel. Each platform has its own set of peers. Example: A Java button appears (and acts) as a Windows button under Windows, as a Macintosh button under Macintosh, and as a Unix button under Unix. Problem: Not all native controls respond in the same way to the same events, so that a Java program shows different behavior under different Java AWT environments. Solution: Lightweightcomponents, written entirely in Java. Swing provides a set of pure Java lightweight components, ensuring better cross-platform compatibility. A lightweight component subclasses java.awt.component-implementing the look-and-feel of the component in Java rather than delegating the lookand-feel to a native peer.

14 AWT Architecture of the Swing Class Library Heavyweight Komponenten (AWT) DieAnbindung der Komponenten geschieht mit sogenannten Peer-Objekten, welche für jedes Betriebsystem neu geschrieben werden. Lightweight Komponenten (Swing) Werden von Java selbst gezeichnet DieContainerklassen (Frame, Dialog, Window, Applet) wurden aus AWT übernommen und erweitert: JFrame, JDialog, JWindow, JApplet als toplevel Container Alleleichtgewichtigen Komponenten können direkt in den Frame gezeichnet werden.

15 AWT AWT - Heavyweight Components Rectangular Opaque Always drawn over top of lightweight components Rely on native peers Look and Feel tied to operating system functionality determined by operating system faster, because the OS handles the work

16 Swing Swing - Lightweight Components Swing uses lightweight components It uses a variant of the Model View Controller Architecture (MVC) It has Pluggable Look And Feel (PLAF) It uses the Delegation Event Model

17 Swing Swing - Lightweight Components Any shape Transparent portions Overlap Mouse events fall through transparent portions Do not rely on native peers Look and Feel drawn at runtime so can vary functionality is the same on all platforms slower because Java has to do the work

18 Swing Lightweight vs. Heavyweight

19 Model View Controller Roots in MVC Swing architecture is rooted in the model-view-controller (MVC) design that dates back to SmallTalk. MVC architecture calls for a visual application to be broken up into three separate parts: A model that represents the data for the application. The viewthat is the visual representation of that data. A controllerthat takes user input on the view and translates that to changes in the model.

20 Model View Controller Independent MVC-elements: Model state data for each component different data for different models View how the component looks onscreen, displays the data Controller dictates how the component reacts to I/O events Controller Model View

21 Model View Controller State Query Change Notification Model Encapsulates Encapsulates application application state state Responds Responds to to state state queries queries Exposes application functionality Exposes application functionality Notifies Notifies views views of of changes changes State Change View Renders Renders the the models models Requests Requests updates updates from from models models Sends user gestures to controller Sends user gestures to controller Allows Allows controller controller to to select select view view View Selection User Gestures Controller Defines Defines application application behaviour behaviour Maps Maps user user actions actions to to model model updates updates Selects view for response Selects view for response One One for for each each functionality functionality Method Invocations Events

22 Modified MVC UI Delegate The Java Swing Architecture uses a modified MVC-model in which the "view" and "controller" are combined in a so-called UI object (User-interface). Component M UI Object UI Manager The UI Object is also called the "UI delegate" or the "delegate object". The modified MVC-model is also referred to a "separable model architecture".

23 Modified MVC UI Delegate Example: JButton ButtonUI Controller View JButton Button Model

24 Modified MVC UI Delegate Example: JButton - Pluggable Look and Feel(PLAF) ButtonUI Controller View UIFactory JButton Button Model

25 Modified MVC UI Delegate Swing Look & Feel AWT Look & Feel JComponent (MVC Model) Component MVC View MVC Controller Peer (native) ComponentUI (Delegate) Platform Widget (native)

26 Swing Components and Container

27 Swing Packages Important Swing Packages: javax.accessibility Provides accessibility for disabled persons javax.swing Provides a set of "lightweight" (all-java language) components that, to the maximum degree possible, work the same on all platforms. javax.swing.border Provides classes and interface for drawing specialized borders around a Swing component. javax.swing.event Provides for events fired by Swing components. javax.swing.plaf Provides user interface objects built according to the Basic look-and-feel.

28 Swing Components: JComponent, JFrame Swing components are similar to components in the Abstract Windowing Toolkit (AWT)butare subclasses of the JComponent class. common root of most of the Swing GUI classes guiding framework for GUI objects extends java.awt.container class Swing applications are subclasses of the class JFrame.

29 Swing Components Swing components and containers are added to a content panewhich represents the full frame area. The content pane is added to the frame.

30 RootPane Structure of a RootPane Menu ContentPane GlasPane LayeredPane

31 Swing Components AbstractButton ButtonGroup ImageIcon JApplet JFrame JButton JCheckBox JComboBox JLabel Abstract Superclass for Swing buttons. Encapsulates a mutually exclusive set of buttons. Encapsulates an icon. The Swing version of Applet. The Swing frame that is more sophisticated than the AWT frame. We can add components in layers, add a menu bar, or paint over the component through a component called a glass pane. The Swing push button class. The Swing check box class. Encapsulates a combo box (a combination of a drop-down list and text field). The Swing version of a Label. continued

32 Swing Components JOptionPane JPasswordField JRadioButton JScrollPane JTabbedpane JTable JTextField JTree The option panes in Swing. Option panes are dialog boxes that display some information to the user or get confirmation from the user so that the program can be executed further based on the choice the user makes. A text field that does not display the text entered into it, but displays the specified character, e.g. * as input is given into the field. The Swing version of a radio button. Encapsulates a rectangular area in which a component may be viewed. Encapsulates a tabbed window. Encapsulates a table-based control. The Swing version of a text field. Encapsulate a tree-based control.

33 Look and Feel PLAF -Pluggable Look and Feel Swing supplies three choices for look and feel: - Metal style - Swing's default cross-platform LAF - Motif X-Windows system style LAF - Windows style LAF - Mac style (not part of the JDK) - New styles can be designed - Style can be reset/changed at runtime Method: setlookandfeel(plaf)

34 Sample Program - PLAF Windows Look-and-Feel Motif Look-and-Feel Metal Look-and-Feel Java SwingExamp01

35 Sample Program - PLAF import java.awt.event.*; import java.awt.*; import javax.swing.*; public class SwingExamp01 extends Jframe implements ActionListener { private static final String[] MONTHS = { "January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December" }; public static void main(string[] args) { SwingExamp01 frame = new SwingExamp01(); frame.setlocation(100, 100); frame.pack(); frame.setvisible(true); }

36 Sample Program - PLAF public SwingExamp01() { super("our first Swing-Program"); //Panel zur Namenseingabe hinzufügen JPanel namepanel = new JPanel(); JLabel label = new JLabel( "Name:", new ImageIcon("triblue.gif"), SwingConstants.LEFT ); namepanel.add(label); JTextField tf = new JTextField(30); tf.settooltiptext("enter your name"); namepanel.add(tf); namepanel.setborder(borderfactory.createetchedborder()); getcontentpane().add(namepanel, BorderLayout.NORTH); //Monatsliste hinzufügen JList list = new JList(MONTHS); list.settooltiptext("select the month of your birthday"); getcontentpane().add(new JScrollPane(list), BorderLayout.CENTER); //Panel mit den Buttons hinzufügen JPanel buttonpanel = new JPanel(); JButton button1 = new JButton("Metal");

37 Sample Program - PLAF } button1.addactionlistener(this); button1.settooltiptext("metal-look-and-feel"); buttonpanel.add(button1); JButton button2 = new JButton("Motif"); button2.addactionlistener(this); button2.settooltiptext("motif-look-and-feel"); buttonpanel.add(button2); JButton button3 = new JButton("Windows"); button3.addactionlistener(this); button3.settooltiptext("windows-look-and-feel"); buttonpanel.add(button3); buttonpanel.setborder(borderfactory.createetchedborder()); getcontentpane().add(buttonpanel, BorderLayout.SOUTH); //Windows-Listener addwindowlistener(new WindowClosingAdapter(true));

38 Sample Program - PLAF public void actionperformed(actionevent event) { String cmd = event.getactioncommand(); try { //PLAF-Klasse auswählen String plaf = "unknown"; if (cmd.equals("metal")) { plaf = "javax.swing.plaf.metal.metallookandfeel"; } else if (cmd.equals("motif")) { plaf = "com.sun.java.swing.plaf.motif.motiflookandfeel"; } else if (cmd.equals("windows")) { plaf = "com.sun.java.swing.plaf.windows.windowslookandfeel"; }

39 Sample Program - PLAF } } //LAF umschalten UIManager.setLookAndFeel(plaf); SwingUtilities.updateComponentTreeUI(this); } catch (UnsupportedLookAndFeelException e) { System.err.println(e.toString()); } catch (ClassNotFoundException e) { System.err.println(e.toString()); } catch (InstantiationException e) { System.err.println(e.toString()); } catch (IllegalAccessException e) { System.err.println(e.toString()); }

40 Layout Managers Layout Managers are used to arrange components according to predefined patterns and to allow more complex UIs.

41 Layout Managers Miteinem Layout-Manager werden die Komponenten nach bestimmten Vorgaben auf einer Bedienoberfläche bzw. in einem Container angeordnet. JederContainer hat eine standardmässigereferenz auf ein Objekt, das ein Interface LayoutManager implementiert. MitsetLayout(LayoutManager)kann dieser überschrieben werden. Komponentenwerden mit add(component)dem Container hinzugefügt und in dieser Reihenfolge angeordnet. BeiTop-Level Containern muss der Aufruf der beiden Methoden auf der ContentPane erfolgen.

42 Layout Managers - Flow Layout The Flow Layout arranges components in a left-to-right flow, much like lines of text in a paragraph. Flow layouts are typically used to arrange buttons in a panel. It will arrange buttons left to right until no more buttons fit on the same line. Each line is centered.

43 Layout Managers - Flow Layout import java.awt.*; import java.awt.event.*; public class Flow extends Frame { public static void main(string[] args) { Flow wnd = new Flow(); wnd.setvisible(true); } } public Flow() { super("test FlowLayout"); addwindowlistener(new WindowClosingAdapter(true)); //Layout setzen und Komponenten hinzufügen setlayout(new FlowLayout(FlowLayout.LEFT,20,20)); add(new Button("Button 1")); add(new Button("Button 2")); add(new Button("Button 3")); add(new Button("Button 4")); add(new Button("Button 5")); pack(); }

44 Layout Managers - Border Layout The BorderLayout lays out a container, arranging and resizing its components to fit in five regions: north, south, east, west, and center. Each region may contain no more than one component, and is identified by a corresponding constant: NORTH, SOUTH, EAST, WEST, and CENTER.

45 Layout Managers - Grid Layout The GridLayout lays out a container's components in a rectangular grid. The container is divided into equal-sized rectangles, and one component is placed in each rectangle.

46 Layout Managers - Grid Layout import java.awt.*; import java.awt.event.*; public class Grid extends Frame { public static void main(string[] args) { Grid wnd = new Grid(); wnd.setvisible(true); } } public Grid() { super("test GridLayout"); addwindowlistener(new WindowClosingAdapter(true)); //Layout setzen und Komponenten hinzufügen setlayout(new GridLayout(4,2)); add(new Button("Button 1")); add(new Button("Button 2")); add(new Button("Button 3")); add(new Button("Button 4")); add(new Button("Button 5")); add(new Button("Button 6")); add(new Button("Button 7")); pack(); }

47 Layout Managers - Grid Bag Layout Example: GridLayout Java

48 Layout Managers - Grid Bag Layout The GridBagLayout The GridBagLayout class is a flexible layout manager that aligns components vertically and horizontally, without requiring that the components be of the same size. Each GridBagLayout object maintains a dynamic, rectangular grid of cells, with each component occupying one or more cells, called its display area.

49 Layout Managers - Grid Bag Layout

50 Layout Managers Further Layout Manager CardLayout Kann mehrere Container in einem übergeordneten Container anordnen, erzeugt einen Stapel von Containern, die hintereinander liegen. BoxLayout Ähnlich wie FlowLayout. Die zu einem Container hinzugefügten Komponenten werden von oben nach unten oder von links nach rechts angeordnet. OverlayLayout Ermöglicht das Stapeln von Komponenten bzw. das Übereinanderlegen. ViewportLayout Ein Viewport ist ein sichtbarer Bereich eines scrollbaren Fensters. NullLayout Komponenten können durch Vorgabe fester Koordinaten platziert werden (absolute Positionierung).

51 NullLayout import java.awt.*; import java.awt.event.*; public class NullLayout extends Frame { public static void main(string[] args) { NullLayout wnd = new NullLayout(); wnd.setvisible(true); } } public NullLayout() { super("dialogelemente ohne Layoutmanager"); addwindowlistener(new WindowClosingAdapter(true)); //Layout setzen und Komponenten hinzufügen setsize(300,250); setlayout(null); for (int i = 0; i < 5; ++i) { Button button = new Button("Button"+(i+1)); button.setbounds(10+i*35,40+i*35,100,30); add(button); } } Java

52 Swing MVC Advanced Java MVC Example

53 Swing MVC Example: Simple Calculator Main program: The main program initializes everything and ties everything together. View: creates the display, calls the model as necessary to get information. Controller: Responds to user requests. It is implemented as an Observer pattern --the Controller registers listeners that are called when the View detects a user interaction. Based on the user request, the Controller calls methods in the View and Model to accomplish the requested action. Model: independent of the user interface, performs the basic calculator function.

54 Swing MVC Main program: import javax.swing.*; public class CalcMVC { public static void main(string[] args) { CalcModel model = new CalcModel(); CalcView view = new CalcView(model); CalcController controller = new CalcController(model, view); } } view.setvisible(true); Java Create model, view, and controller

The Abstract Windowing Toolkit. Java Foundation Classes. Swing. In April 1997, JavaSoft announced the Java Foundation Classes (JFC).

The Abstract Windowing Toolkit. Java Foundation Classes. Swing. In April 1997, JavaSoft announced the Java Foundation Classes (JFC). The Abstract Windowing Toolkit Since Java was first released, its user interface facilities have been a significant weakness The Abstract Windowing Toolkit (AWT) was part of the JDK form the beginning,

More information

5.17 GUI. Xiaoyi Jiang Informatik I Grundlagen der Programmierung

5.17 GUI. Xiaoyi Jiang Informatik I Grundlagen der Programmierung AWT vs. Swing AWT (Abstract Window Toolkit; Package java.awt) Benutzt Steuerelemente des darunterliegenden Betriebssystems Native Code (direkt für die Maschine geschrieben, keine VM); schnell Aussehen

More information

Swing. A Quick Tutorial on Programming Swing Applications

Swing. A Quick Tutorial on Programming Swing Applications Swing A Quick Tutorial on Programming Swing Applications 1 MVC Model View Controller Swing is based on this design pattern It means separating the implementation of an application into layers or components:

More information

CS 335 Lecture 06 Java Programming GUI and Swing

CS 335 Lecture 06 Java Programming GUI and Swing CS 335 Lecture 06 Java Programming GUI and Swing Java: Basic GUI Components Swing component overview Event handling Inner classes and anonymous inner classes Examples and various components Layouts Panels

More information

GUIs with Swing. Principles of Software Construction: Objects, Design, and Concurrency. Jonathan Aldrich and Charlie Garrod Fall 2012

GUIs with Swing. Principles of Software Construction: Objects, Design, and Concurrency. Jonathan Aldrich and Charlie Garrod Fall 2012 GUIs with Swing Principles of Software Construction: Objects, Design, and Concurrency Jonathan Aldrich and Charlie Garrod Fall 2012 Slides copyright 2012 by Jeffrey Eppinger, Jonathan Aldrich, William

More information

LAYOUT MANAGERS. Layout Managers Page 1. java.lang.object. java.awt.component. java.awt.container. java.awt.window. java.awt.panel

LAYOUT MANAGERS. Layout Managers Page 1. java.lang.object. java.awt.component. java.awt.container. java.awt.window. java.awt.panel LAYOUT MANAGERS A layout manager controls how GUI components are organized within a GUI container. Each Swing container (e.g. JFrame, JDialog, JApplet and JPanel) is a subclass of java.awt.container and

More information

Java is commonly used for deploying applications across a network. Compiled Java code

Java is commonly used for deploying applications across a network. Compiled Java code Module 5 Introduction to Java/Swing Java is commonly used for deploying applications across a network. Compiled Java code may be distributed to different machine architectures, and a native-code interpreter

More information

Using A Frame for Output

Using A Frame for Output Eventos Roteiro Frames Formatting Output Event Handling Entering Data Using Fields in a Frame Creating a Data Entry Field Using a Field Reading Data in an Event Handler Handling Multiple Button Events

More information

Extending Desktop Applications to the Web

Extending Desktop Applications to the Web Extending Desktop Applications to the Web Arno Puder San Francisco State University Computer Science Department 1600 Holloway Avenue San Francisco, CA 94132 arno@sfsu.edu Abstract. Web applications have

More information

Graphical User Interfaces

Graphical User Interfaces M14_REGE1813_02_SE_C14.qxd 2/10/10 3:43 PM Page 822 Chapter14 Graphical User Interfaces 14.1 GUI Basics Graphical Input and Output with Option Panes Working with Frames Buttons, Text Fields, and Labels

More information

GUI Components: Part 2

GUI Components: Part 2 GUI Components: Part 2 JComboBox and Using an Anonymous Inner Class for Event Handling A combo box (or drop-down list) enables the user to select one item from a list. Combo boxes are implemented with

More information

Programming with Java GUI components

Programming with Java GUI components Programming with Java GUI components Java includes libraries to provide multi-platform support for Graphic User Interface objects. The multi-platform aspect of this is that you can write a program on a

More information

During the process of creating ColorSwitch, you will learn how to do these tasks:

During the process of creating ColorSwitch, you will learn how to do these tasks: GUI Building in NetBeans IDE 3.6 This short tutorial guides you through the process of creating an application called ColorSwitch. You will build a simple program that enables you to switch the color of

More information

@ - Internal # - External @- Online TH PR OR TW TOTAL HOURS 04 --- 04 03 100 50# --- 25@ 175

@ - Internal # - External @- Online TH PR OR TW TOTAL HOURS 04 --- 04 03 100 50# --- 25@ 175 COURSE NAME : COMPUTER ENGINEERING GROUP COURSE CODE SEMESTER SUBJECT TITLE : CO/CM/IF/CD : SIXTH : ADVANCED JAVA PROGRAMMING SUBJECT CODE : Teaching and Examination Scheme: @ - Internal # - External @-

More information

Mouse Event Handling (cont.)

Mouse Event Handling (cont.) GUI Components: Part II Mouse Event Handling (cont.) Each mouse event-handling method receives a MouseEvent object that contains information about the mouse event that occurred, including the x- and y-coordinates

More information

Informatik II. // ActionListener hinzufügen btnconvert.addactionlistener(this); super.setdefaultcloseoperation(jframe.

Informatik II. // ActionListener hinzufügen btnconvert.addactionlistener(this); super.setdefaultcloseoperation(jframe. Universität Augsburg, Institut für Informatik Sommersemester 2006 Prof. Dr. Werner Kießling 20. Juli. 2006 M. Endres, A. Huhn, T. Preisinger Lösungsblatt 11 Aufgabe 1: Währungsrechner CurrencyConverter.java

More information

INTRODUCTION TO COMPUTER PROGRAMMING. Richard Pierse. Class 7: Object-Oriented Programming. Introduction

INTRODUCTION TO COMPUTER PROGRAMMING. Richard Pierse. Class 7: Object-Oriented Programming. Introduction INTRODUCTION TO COMPUTER PROGRAMMING Richard Pierse Class 7: Object-Oriented Programming Introduction One of the key issues in programming is the reusability of code. Suppose that you have written a program

More information

Model-View-Controller (MVC) Design Pattern

Model-View-Controller (MVC) Design Pattern Model-View-Controller (MVC) Design Pattern Computer Science and Engineering College of Engineering The Ohio State University Lecture 23 Motivation Basic parts of any application: Data being manipulated

More information

file://c:\dokumente und Einstellungen\Marco Favorito\Desktop\ScanCmds.html

file://c:\dokumente und Einstellungen\Marco Favorito\Desktop\ScanCmds.html file:c:\dokumente und Einstellungen\Marco Favorito\Desktop\ScanCmds.html Seite 1 von 5 ScanCmds.java ------------------------------------------------------------------------------- ScanCmds Demontration

More information

How To Build A Swing Program In Java.Java.Netbeans.Netcode.Com (For Windows) (For Linux) (Java) (Javax) (Windows) (Powerpoint) (Netbeans) (Sun) (

How To Build A Swing Program In Java.Java.Netbeans.Netcode.Com (For Windows) (For Linux) (Java) (Javax) (Windows) (Powerpoint) (Netbeans) (Sun) ( Chapter 11. Graphical User Interfaces To this point in the text, our programs have interacted with their users to two ways: The programs in Chapters 1-5, implemented in Processing, displayed graphical

More information

Lecture 15: Pluggable Look & Feels. CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University.

Lecture 15: Pluggable Look & Feels. CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. Lecture 15: Pluggable Look & Feels CS 338: Graphical User Interfaces. Dario Salvucci, Drexel University. 1 What is a Pluggable Look and Feel? We'll be talking about Pluggable Look and Feels We'll look

More information

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé. http://www.rzo.free.fr

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé. http://www.rzo.free.fr Cours de Java Sciences-U Lyon Java - Introduction Java - Fondamentaux Java Avancé http://www.rzo.free.fr Pierre PARREND 1 Octobre 2004 Sommaire Java Introduction Java Fondamentaux Java Avancé GUI Graphical

More information

JIDE Action Framework Developer Guide

JIDE Action Framework Developer Guide JIDE Action Framework Developer Guide Contents PURPOSE OF THIS DOCUMENT... 1 WHAT IS JIDE ACTION FRAMEWORK... 1 PACKAGES... 3 MIGRATING FROM EXISTING APPLICATIONS... 3 DOCKABLEBARMANAGER... 9 DOCKABLE

More information

Implementação. Interfaces Pessoa Máquina 2010/11. 2009-11 Salvador Abreu baseado em material Alan Dix. Thursday, June 2, 2011

Implementação. Interfaces Pessoa Máquina 2010/11. 2009-11 Salvador Abreu baseado em material Alan Dix. Thursday, June 2, 2011 Implementação Interfaces Pessoa Máquina 2010/11 2009-11 baseado em material Alan Dix 1 Windowing systems Architecture Layers Higher level Tool UI Toolkit (Widgets) Window System OS Application Hardware

More information

Developing GUI Applications: Architectural Patterns Revisited

Developing GUI Applications: Architectural Patterns Revisited Developing GUI Applications: Architectural Patterns Revisited A Survey on MVC, HMVC, and PAC Patterns Alexandros Karagkasidis karagkasidis@gmail.com Abstract. Developing large and complex GUI applications

More information

Principles of Software Construction: Objects, Design and Concurrency. GUIs with Swing. toad 15-214. Spring 2013

Principles of Software Construction: Objects, Design and Concurrency. GUIs with Swing. toad 15-214. Spring 2013 Principles of Software Construction: Objects, Design and Concurrency GUIs with Swing 15-214 toad Spring 2013 Christian Kästner Charlie Garrod School of Computer Science 2012-13 C Garrod, C Kästner, J Aldrich,

More information

UI software architectures & Modeling interaction

UI software architectures & Modeling interaction UI software architectures & Modeling interaction (part of this content is based on previous classes from A. Bezerianos, S. Huot, M. Beaudouin-Lafon, N.Roussel, O.Chapuis) Assignment 1 Design and implement

More information

JiST Graphical User Interface Event Viewer. Mark Fong mjf21@cornell.edu

JiST Graphical User Interface Event Viewer. Mark Fong mjf21@cornell.edu JiST Graphical User Interface Event Viewer Mark Fong mjf21@cornell.edu Table of Contents JiST Graphical User Interface Event Viewer...1 Table of Contents...2 Introduction...3 What it does...3 Design...3

More information

Software Design: Figures

Software Design: Figures Software Design: Figures Today ColorPicker Layout Manager Observer Pattern Radio Buttons Prelimiary Discussion Exercise 5 ColorPicker They don't teach you the facts of death, Your mum and dad. They give

More information

core. Volume I - Fundamentals Seventh Edition Sun Microsystems Press A Prentice Hall Title ULB Darmstadt

core. Volume I - Fundamentals Seventh Edition Sun Microsystems Press A Prentice Hall Title ULB Darmstadt core. 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Volume I - Fundamentals Seventh Edition CAY S. HORSTMANN GARY

More information

http://netbeans.org/kb/docs/java/gui-functionality.html?print=yes

http://netbeans.org/kb/docs/java/gui-functionality.html?print=yes Page 1 of 6 Introduction to GUI Building Contributed by Saleem Gul and Tomas Pavek, maintained by Ruth Kusterer and Irina Filippova This beginner tutorial teaches you how to create a simple graphical user

More information

Skills and Topics for TeenCoder: Java Programming

Skills and Topics for TeenCoder: Java Programming Skills and Topics for TeenCoder: Java Programming Our Self-Study Approach Our courses are self-study and can be completed on the student's own computer, at their own pace. You can steer your student in

More information

Gadget: A Tool for Extracting the Dynamic Structure of Java Programs

Gadget: A Tool for Extracting the Dynamic Structure of Java Programs Gadget: A Tool for Extracting the Dynamic Structure of Java Programs Juan Gargiulo and Spiros Mancoridis Department of Mathematics & Computer Science Drexel University Philadelphia, PA, USA e-mail: gjgargiu,smancori

More information

Homework/Program #5 Solutions

Homework/Program #5 Solutions Homework/Program #5 Solutions Problem #1 (20 points) Using the standard Java Scanner class. Look at http://natch3z.blogspot.com/2008/11/read-text-file-using-javautilscanner.html as an exampleof using the

More information

public class Craps extends JFrame implements ActionListener { final int WON = 0,LOST =1, CONTINUE = 2;

public class Craps extends JFrame implements ActionListener { final int WON = 0,LOST =1, CONTINUE = 2; Lecture 15 The Game of "Craps" In the game of "craps" a player throws a pair of dice. If the sum on the faces of the pair of dice after the first toss is 7 or 11 the player wins; if the sum on the first

More information

Essentials of the Java(TM) Programming Language, Part 1

Essentials of the Java(TM) Programming Language, Part 1 Essentials of the Java(TM) Programming Language, Part 1 http://developer.java.sun.com/developer...ining/programming/basicjava1/index.html Training Index Essentials of the Java TM Programming Language:

More information

Advanced Network Programming Lab using Java. Angelos Stavrou

Advanced Network Programming Lab using Java. Angelos Stavrou Advanced Network Programming Lab using Java Angelos Stavrou Table of Contents A simple Java Client...3 A simple Java Server...4 An advanced Java Client...5 An advanced Java Server...8 A Multi-threaded

More information

Nexawebホワイトペーパー. Developing with Nexaweb ~ Nexaweb to Improve Development Productivity and Maintainability

Nexawebホワイトペーパー. Developing with Nexaweb ~ Nexaweb to Improve Development Productivity and Maintainability Nexawebホワイトペーパー Developing with Nexaweb ~ Nexaweb to Improve Development Productivity and Maintainability Nexaweb Technologies, Inc. February 2012 Overview Many companies today are creating rich internet

More information

The Basic Java Applet and JApplet

The Basic Java Applet and JApplet I2PUJ4 - Chapter 6 - Applets, HTML, and GUI s The Basic Java Applet and JApplet Rob Dempster robd@cs.ukzn.ac.za School of Computer Science University of KwaZulu-Natal Pietermaritzburg Campus I2PUJ4 - Chapter

More information

Tutorial Reference Manual. Java WireFusion 4.1

Tutorial Reference Manual. Java WireFusion 4.1 Tutorial Reference Manual Java WireFusion 4.1 Contents INTRODUCTION...1 About this Manual...2 REQUIREMENTS...3 User Requirements...3 System Requirements...3 SHORTCUTS...4 DEVELOPMENT ENVIRONMENT...5 Menu

More information

Assignment # 2: Design Patterns and GUIs

Assignment # 2: Design Patterns and GUIs CSUS COLLEGE OF ENGINEERING AND COMPUTER SCIENCE Department of Computer Science CSc 133 Object-Oriented Computer Graphics Programming Spring 2014 John Clevenger Assignment # 2: Design Patterns and GUIs

More information

// Correntista. //Conta Corrente. package Banco; public class Correntista { String nome, sobrenome; int cpf;

// Correntista. //Conta Corrente. package Banco; public class Correntista { String nome, sobrenome; int cpf; // Correntista public class Correntista { String nome, sobrenome; int cpf; public Correntista(){ nome = "zé"; sobrenome = "Pereira"; cpf = 123456; public void setnome(string n){ nome = n; public void setsobrenome(string

More information

Java GUI Programming

Java GUI Programming Java GUI Programming Sean P. Strout (sps@cs.rit.edu) Robert Duncan (rwd@cs.rit.edu) 10/24/2005 Java GUI Programming 1 Java has standard packages for creating custom Graphical User Interfaces What is a

More information

How Scala Improved Our Java

How Scala Improved Our Java How Scala Improved Our Java Sam Reid PhET Interactive Simulations University of Colorado http://spot.colorado.edu/~reids/ PhET Interactive Simulations Provides free, open source educational science simulations

More information

JavaFX Session Agenda

JavaFX Session Agenda JavaFX Session Agenda 1 Introduction RIA, JavaFX and why JavaFX 2 JavaFX Architecture and Framework 3 Getting Started with JavaFX 4 Examples for Layout, Control, FXML etc Current day users expect web user

More information

Event processing in Java: what happens when you click?

Event processing in Java: what happens when you click? Event processing in Java: what happens when you click? Alan Dix In the HCI book chapter 8 (fig 8.5, p. 298), notification-based user interface programming is described. Java uses this paradigm and you

More information

An Overview of Java. overview-1

An Overview of Java. overview-1 An Overview of Java overview-1 Contents What is Java Major Java features Java virtual machine Java programming language Java class libraries (API) GUI Support in Java Networking and Threads in Java overview-2

More information

Essentials of the Java Programming Language

Essentials of the Java Programming Language Essentials of the Java Programming Language A Hands-On Guide by Monica Pawlan 350 East Plumeria Drive San Jose, CA 95134 USA May 2013 Part Number TBD v1.0 Sun Microsystems. Inc. All rights reserved If

More information

Karsten Lentzsch JGoodies SWING WITH STYLE

Karsten Lentzsch JGoodies SWING WITH STYLE Karsten Lentzsch JGoodies SWING WITH STYLE JGoodies: Karsten Lentzsch Open source Swing libraries Example applications Consultant for Java desktop Design assistance Training for visual design and implementation

More information

Artificial Intelligence. Class: 3 rd

Artificial Intelligence. Class: 3 rd Artificial Intelligence Class: 3 rd Teaching scheme: 4 hours lecture credits: Course description: This subject covers the fundamentals of Artificial Intelligence including programming in logic, knowledge

More information

Java GUI Programming. Building the GUI for the Microsoft Windows Calculator Lecture 2. Des Traynor 2005

Java GUI Programming. Building the GUI for the Microsoft Windows Calculator Lecture 2. Des Traynor 2005 Java GUI Programming Building the GUI for the Microsoft Windows Calculator Lecture 2 Des Traynor 2005 So, what are we up to Today, we are going to create the GUI for the calculator you all know and love.

More information

Medientechnik. Übung MVC

Medientechnik. Übung MVC Medientechnik Übung MVC Heute Model-View-Controller (MVC) Model programmieren Programmlogik Programmdaten Controller programmieren GUI Model Observer-Pattern Observable (Model) verwaltet Daten Observer

More information

Course/Year W080/807 Expected Solution Subject: Software Development to Question No: 1

Course/Year W080/807 Expected Solution Subject: Software Development to Question No: 1 Subject: Software Development to Question No: 1 Page 1 of 2 Allocation: 33 marks (a) (i) A layout manager is an object that implements the LayoutManager interface and determines the size and position of

More information

Using NetBeans IDE for Desktop Development. Geertjan Wielenga http://blogs.sun.com/geertjan

Using NetBeans IDE for Desktop Development. Geertjan Wielenga http://blogs.sun.com/geertjan Using NetBeans IDE for Desktop Development Geertjan Wielenga http://blogs.sun.com/geertjan Agenda Goals Design: Matisse GUI Builder Medium Applications: JSR-296 Tooling Large Applications: NetBeans Platform

More information

JIDE Common Layer Developer Guide (Open Source Project)

JIDE Common Layer Developer Guide (Open Source Project) JIDE Common Layer Developer Guide (Open Source Project) Contents PURPOSE OF THIS DOCUMENT... 4 WHY USING COMPONENTS... 4 WHY DO WE OPEN SOURCE... 5 HOW TO LEARN JIDE COMMON LAYER... 5 PACKAGE STRUCTURE...

More information

How To Write A Program For The Web In Java (Java)

How To Write A Program For The Web In Java (Java) 21 Applets and Web Programming As noted in Chapter 2, although Java is a general purpose programming language that can be used to create almost any type of computer program, much of the excitement surrounding

More information

A TOOL FOR DATA STRUCTURE VISUALIZATION AND USER-DEFINED ALGORITHM ANIMATION

A TOOL FOR DATA STRUCTURE VISUALIZATION AND USER-DEFINED ALGORITHM ANIMATION A TOOL FOR DATA STRUCTURE VISUALIZATION AND USER-DEFINED ALGORITHM ANIMATION Tao Chen 1, Tarek Sobh 2 Abstract -- In this paper, a software application that features the visualization of commonly used

More information

How to Convert an Application into an Applet.

How to Convert an Application into an Applet. How to Convert an Application into an Applet. A java application contains a main method. An applet is a java program part of a web page and runs within a browser. I am going to show you three different

More information

Schueler-Organisiertes Lernen am Beispiel von Grafischen Benutzer-Schnittstellen in Java Tag der Offenen Tür - GTS 2008

Schueler-Organisiertes Lernen am Beispiel von Grafischen Benutzer-Schnittstellen in Java Tag der Offenen Tür - GTS 2008 Schueler-Organisiertes Lernen am Beispiel von Grafischen Benutzer-Schnittstellen in Java Tag der Offenen Tür - GTS 2008 http://worgtsone.scienceontheweb.net/worgtsone/ - mailto: worgtsone @ hush.com Sa

More information

www.virtualians.pk CS506 Web Design and Development Solved Online Quiz No. 01 www.virtualians.pk

www.virtualians.pk CS506 Web Design and Development Solved Online Quiz No. 01 www.virtualians.pk CS506 Web Design and Development Solved Online Quiz No. 01 Which of the following is a general purpose container? JFrame Dialog JPanel JApplet Which of the following package needs to be import while handling

More information

Writer Guide. Chapter 15 Using Forms in Writer

Writer Guide. Chapter 15 Using Forms in Writer Writer Guide Chapter 15 Using Forms in Writer Copyright This document is Copyright 2005 2008 by its contributors as listed in the section titled Authors. You may distribute it and/or modify it under the

More information

method is never called because it is automatically called by the window manager. An example of overriding the paint() method in an Applet follows:

method is never called because it is automatically called by the window manager. An example of overriding the paint() method in an Applet follows: Applets - Java Programming for the Web An applet is a Java program designed to run in a Java-enabled browser or an applet viewer. In a browser, an applet is called into execution when the APPLET HTML tag

More information

Mapping to the Windows Presentation Framework

Mapping to the Windows Presentation Framework Mapping to the Windows Presentation Framework This section maps the main IFML concepts to the.net Windows Presentation Framework (WFP). Windows Presentation Framework (WPF) is a part of.net Framework by

More information

Chapter 15 Using Forms in Writer

Chapter 15 Using Forms in Writer Writer Guide Chapter 15 Using Forms in Writer OpenOffice.org Copyright This document is Copyright 2005 2006 by its contributors as listed in the section titled Authors. You can distribute it and/or modify

More information

your provider for business web solutions Desktop-Feeling garantiert - Wie Ihre Web-Applikation alle Erwartungen erfüllt! Basel, 06.04.

your provider for business web solutions Desktop-Feeling garantiert - Wie Ihre Web-Applikation alle Erwartungen erfüllt! Basel, 06.04. Desktop-Feeling garantiert - Wie Ihre Web-Applikation alle Erwartungen erfüllt! Basel, 06.04.2011 Welcome Daniel Grob und Andreas Henle Canoo Engineering AG, Basel Rich Internet Applications Products,

More information

Fondamenti di Java. Introduzione alla costruzione di GUI (graphic user interface)

Fondamenti di Java. Introduzione alla costruzione di GUI (graphic user interface) Fondamenti di Java Introduzione alla costruzione di GUI (graphic user interface) component - container - layout Un Container contiene [0 o +] Components Il Layout specifica come i Components sono disposti

More information

Create a Poster Using Publisher

Create a Poster Using Publisher Contents 1. Introduction 1. Starting Publisher 2. Create a Poster Template 5. Aligning your images and text 7. Apply a background 12. Add text to your poster 14. Add pictures to your poster 17. Add graphs

More information

Design. in NetBeans 6.0

Design. in NetBeans 6.0 UI Design in NetBeans 6.0 Wade Chandler Beans Binding and Swing pplication Framework support, and other new features you ve probably been dreaming about having in your IDE UI Design in NetBeans 6.0 opers

More information

CaptainCasa. CaptainCasa Enterprise Client. CaptainCasa Enterprise Client. Feature Overview

CaptainCasa. CaptainCasa Enterprise Client. CaptainCasa Enterprise Client. Feature Overview Feature Overview Page 1 Technology Client Server Client-Server Communication Client Runtime Application Deployment Java Swing based (JRE 1.6), generic rich frontend client. HTML based thin frontend client

More information

Tutorial: Time Of Day Part 2 GUI Design in NetBeans

Tutorial: Time Of Day Part 2 GUI Design in NetBeans Tutorial: Time Of Day Part 2 GUI Design in NetBeans October 7, 2010 Author Goals Kees Hemerik / Gerard Zwaan Getting acquainted with NetBeans GUI Builder Illustrate the separation between GUI and computation

More information

VAASAN AMMATTIKORKEAKOULU UNIVERSITY OF APPLIED SCIENCES. Xiaoling Yu IMPLEMENTATION OF A SECURE SHELL FILE TRANSFER PROGRAM IN JAVA

VAASAN AMMATTIKORKEAKOULU UNIVERSITY OF APPLIED SCIENCES. Xiaoling Yu IMPLEMENTATION OF A SECURE SHELL FILE TRANSFER PROGRAM IN JAVA VAASAN AMMATTIKORKEAKOULU UNIVERSITY OF APPLIED SCIENCES Xiaoling Yu IMPLEMENTATION OF A SECURE SHELL FILE TRANSFER PROGRAM IN JAVA Information Technology 2010 2 FOREWORD First of all, I would like to

More information

Sample Table. Columns. Column 1 Column 2 Column 3 Row 1 Cell 1 Cell 2 Cell 3 Row 2 Cell 4 Cell 5 Cell 6 Row 3 Cell 7 Cell 8 Cell 9.

Sample Table. Columns. Column 1 Column 2 Column 3 Row 1 Cell 1 Cell 2 Cell 3 Row 2 Cell 4 Cell 5 Cell 6 Row 3 Cell 7 Cell 8 Cell 9. Working with Tables in Microsoft Word The purpose of this document is to lead you through the steps of creating, editing and deleting tables and parts of tables. This document follows a tutorial format

More information

Task Force on Technology / EXCEL

Task Force on Technology / EXCEL Task Force on Technology EXCEL Basic terminology Spreadsheet A spreadsheet is an electronic document that stores various types of data. There are vertical columns and horizontal rows. A cell is where the

More information

MiniDraw Introducing a framework... and a few patterns

MiniDraw Introducing a framework... and a few patterns MiniDraw Introducing a framework... and a few patterns What is it? [Demo] 2 1 What do I get? MiniDraw helps you building apps that have 2D image based graphics GIF files Optimized repainting Direct manipulation

More information

SAP Enterprise Portal 6.0 KM Platform Delta Features

SAP Enterprise Portal 6.0 KM Platform Delta Features SAP Enterprise Portal 6.0 KM Platform Delta Features Please see also the KM Platform feature list in http://service.sap.com/ep Product Management Operations Status: January 20th, 2004 Note: This presentation

More information

MICROSOFT ACCESS 2007 BOOK 2

MICROSOFT ACCESS 2007 BOOK 2 MICROSOFT ACCESS 2007 BOOK 2 4.1 INTRODUCTION TO ACCESS FIRST ENCOUNTER WITH ACCESS 2007 P 205 Access is activated by means of Start, Programs, Microsoft Access or clicking on the icon. The window opened

More information

Microsoft Publisher 2010 What s New!

Microsoft Publisher 2010 What s New! Microsoft Publisher 2010 What s New! INTRODUCTION Microsoft Publisher 2010 is a desktop publishing program used to create professional looking publications and communication materials for print. A new

More information

Android Developer Fundamental 1

Android Developer Fundamental 1 Android Developer Fundamental 1 I. Why Learn Android? Technology for life. Deep interaction with our daily life. Mobile, Simple & Practical. Biggest user base (see statistics) Open Source, Control & Flexibility

More information

Lab 1A. Create a simple Java application using JBuilder. Part 1: make the simplest Java application Hello World 1. Start Jbuilder. 2.

Lab 1A. Create a simple Java application using JBuilder. Part 1: make the simplest Java application Hello World 1. Start Jbuilder. 2. Lab 1A. Create a simple Java application using JBuilder In this lab exercise, we ll learn how to use a Java integrated development environment (IDE), Borland JBuilder 2005, to develop a simple Java application

More information

A Modular Approach to Teaching Mobile APPS Development

A Modular Approach to Teaching Mobile APPS Development 2014 Hawaii University International Conferences Science, Technology, Engineering, Math & Education June 16, 17, & 18 2014 Ala Moana Hotel, Honolulu, Hawaii A Modular Approach to Teaching Mobile APPS Development

More information

8 CREATING FORM WITH FORM WIZARD AND FORM DESIGNER

8 CREATING FORM WITH FORM WIZARD AND FORM DESIGNER 8 CREATING FORM WITH FORM WIZARD AND FORM DESIGNER 8.1 INTRODUCTION Forms are very powerful tool embedded in almost all the Database Management System. It provides the basic means for inputting data for

More information

Project Builder for Java. (Legacy)

Project Builder for Java. (Legacy) Project Builder for Java (Legacy) Contents Introduction to Project Builder for Java 8 Organization of This Document 8 See Also 9 Application Development 10 The Tool Template 12 The Swing Application Template

More information

Using Microsoft Word. Working With Objects

Using Microsoft Word. Working With Objects Using Microsoft Word Many Word documents will require elements that were created in programs other than Word, such as the picture to the right. Nontext elements in a document are referred to as Objects

More information

Understanding Operating System Configurations

Understanding Operating System Configurations Lesson 2 Understanding Operating System Configurations Learning Objectives Students will learn to: Understand Standard User Versus Administrative User Accounts Understand Types of UAC Prompts and Levels

More information

In this session, we will explain some of the basics of word processing. 1. Start Microsoft Word 11. Edit the Document cut & move

In this session, we will explain some of the basics of word processing. 1. Start Microsoft Word 11. Edit the Document cut & move WORD PROCESSING In this session, we will explain some of the basics of word processing. The following are the outlines: 1. Start Microsoft Word 11. Edit the Document cut & move 2. Describe the Word Screen

More information

Asset Track Getting Started Guide. An Introduction to Asset Track

Asset Track Getting Started Guide. An Introduction to Asset Track Asset Track Getting Started Guide An Introduction to Asset Track Contents Introducing Asset Track... 3 Overview... 3 A Quick Start... 6 Quick Start Option 1... 6 Getting to Configuration... 7 Changing

More information

DHBW Karlsruhe, Vorlesung Programmieren, Remote Musterlösungen

DHBW Karlsruhe, Vorlesung Programmieren, Remote Musterlösungen DHBW Karlsruhe, Vorlesung Programmieren, Remote Musterlösungen Aufgabe 1 RMI - TimeService public interface TimeServerInterface extends Remote { public String gettime() throws RemoteException; import java.util.date;

More information

Acrobat X Pro Accessible Forms and Interactive Documents

Acrobat X Pro Accessible Forms and Interactive Documents Contents 2 PDF Form Fields 2 Acrobat Form Wizard 5 Enter Forms Editing Mode Directly 5 Create Form Fields Manually 6 Forms Editing Mode 8 Form Field Properties 11 Editing or Modifying an Existing Form

More information

Database Forms and Reports Tutorial

Database Forms and Reports Tutorial Database Forms and Reports Tutorial Contents Introduction... 1 What you will learn in this tutorial... 2 Lesson 1: Create First Form Using Wizard... 3 Lesson 2: Design the Second Form... 9 Add Components

More information

Java Appletek II. Applet GUI

Java Appletek II. Applet GUI THE INTERNET,mapped on the opposite page, is a scalefree network in that Java Appletek II. dis.'~tj port,from BYALBERTU\SZLOBARABASI ANDERICBONABEAU THE INTERNET,mapped on the opposite page, is a scalefree

More information

Workshop on Android and Applications Development

Workshop on Android and Applications Development Workshop on Android and Applications Development Duration: 2 Days (8 hrs/day) Introduction: With over one billion devices activated, Android is an exciting space to make apps to help you communicate, organize,

More information

Eclipse with Mac OSX Getting Started Selecting Your Workspace. Creating a Project.

Eclipse with Mac OSX Getting Started Selecting Your Workspace. Creating a Project. Eclipse with Mac OSX Java developers have quickly made Eclipse one of the most popular Java coding tools on Mac OS X. But although Eclipse is a comfortable tool to use every day once you know it, it is

More information

History OOP languages Year Language 1967 Simula-67 1983 Smalltalk

History OOP languages Year Language 1967 Simula-67 1983 Smalltalk History OOP languages Intro 1 Year Language reported dates vary for some languages... design Vs delievered 1957 Fortran High level programming language 1958 Lisp 1959 Cobol 1960 Algol Structured Programming

More information

Logi Ad Hoc Reporting System Administration Guide

Logi Ad Hoc Reporting System Administration Guide Logi Ad Hoc Reporting System Administration Guide Version 11.2 Last Updated: March 2014 Page 2 Table of Contents INTRODUCTION... 4 Target Audience... 4 Application Architecture... 5 Document Overview...

More information

Konzepte objektorientierter Programmierung

Konzepte objektorientierter Programmierung Konzepte objektorientierter Programmierung Prof. Dr. Peter Müller Werner Dietl Software Component Technology Exercises 5: Frameworks Wintersemester 05/06 2 Homework 1 Observer Pattern From: Gamma, Helm,

More information

What s New in QuarkXPress 8

What s New in QuarkXPress 8 What s New in QuarkXPress 8 LEGAL NOTICES 2008 Quark Inc. as to the content and arrangement of this material. All rights reserved. 1986 2008 Quark Inc. and its licensors as to the technology. All rights

More information

Fachbereich Informatik und Elektrotechnik Java Applets. Programming in Java. Java Applets. Programming in Java, Helmut Dispert

Fachbereich Informatik und Elektrotechnik Java Applets. Programming in Java. Java Applets. Programming in Java, Helmut Dispert Java Applets Programming in Java Java Applets Java Applets applet= app = application snippet = Anwendungsschnipsel An applet is a small program that is intended not to be run on its own, but rather to

More information

Lab 9. Spam, Spam, Spam. Handout 11 CSCI 134: Spring, 2015. To gain experience with Strings. Objective

Lab 9. Spam, Spam, Spam. Handout 11 CSCI 134: Spring, 2015. To gain experience with Strings. Objective Lab 9 Handout 11 CSCI 134: Spring, 2015 Spam, Spam, Spam Objective To gain experience with Strings. Before the mid-90s, Spam was a canned meat product. These days, the term spam means just one thing unwanted

More information

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1

The Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1 The Java Series Java Essentials I What is Java? Basic Language Constructs Slide 1 What is Java? A general purpose Object Oriented programming language. Created by Sun Microsystems. It s a general purpose

More information

A LITTLE PROMISE FROM YOU

A LITTLE PROMISE FROM YOU A LITTLE PROMISE FROM YOU It took me many years of experience to gather the knowledge that helped me make this guide and hours to actually produce it. But I am happy to offer it for you completely free

More information