Using NetBeans IDE for Desktop Development. Geertjan Wielenga

Similar documents
Getting Started with the NetBeans Platform. Geertjan Wielenga

Introduction to the NetBeans Platform Certified Training Course. Geertjan Wielenga Sun Microsystems

Java Swing Introduction

NetBeans Platform. Geertjan Wielenga Sun Microsystems Source Talk Tage, 27 September, 2006

NetBeans Platform in 5.0:

Simplifying Development and Testing of GUIs with SAF (JSR 296) and FEST. Michael Hüttermann Training & Consulting Alex Ruiz Oracle Corporation

NETBEANS PLATFORM. Satyajit Tripathi Member Technical Staff ISV-Engineering, Sun Microsystems

Introduction to the JAVA UI classes Advanced HCI IAT351

Graphical User Interface (GUI)

Creating Professional Swing UIs Using the NetBeans GUI Builder

Graphical User Interface (GUI)

Graphic User Interfaces. - GUI concepts - Swing - AWT

The JFrame Class Frame Windows GRAPHICAL USER INTERFACES. Five steps to displaying a frame: 1) Construct an object of the JFrame class

What Is NetBeans? Free and open-source based > Open source since June, 2000 > Large community of users and developers

VizzAnalyzer goes Eclipse!

GUI and its COmponent Textfield, Button & Label. By Iqtidar Ali

Graphical User Interfaces (GUIs)

Assignment 1. Application Development

Strategies for Loose Coupling in Large Java Desktop Applications. Geertjan Wielenga

Strategies for Loose Coupling in Large Java Desktop Applications

Introduction to Graphical Interface Programming in Java. Introduction to AWT and Swing

Petr Suchomel Architect, NetBeans Mobility

The Definitive Guide to. NetBeans Platform 7. Heiko Bock. Apress*

Nodes & Explorer Views. Geertjan Wielenga Sun Microsystems

Javadocing in Netbeans (rev )

Oracle WebLogic Devcast Series: JMX for DevOps. Dr. Frank Munz ORACLE PRODUCT LOGO

Beyond CSE143. What s Left To Do? Templates. Using Templates. A Template Class. A Problem with Reusing Code CSE 143

I.1 Introduction Matisse GUI designer I.2 GroupLayout Basics Sequential and Parallel Arrangements sequential horizontal orientation

Lab 4. D0010E Object-Oriented Programming and Design. Today s lecture. GUI programming in

Programming Languages and Techniques (CIS120)

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

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

1. What is Jav a? simple

Introduction To NetBeans 5.5

LAB 1: FAMILIARITY WITH NETBEANS IDE ENVIRONMENT

CS 251 Intermediate Programming GUIs: Components and Layout

EPITA Première Année Cycle Ingénieur. Atelier Java - J5

Event Driven Programming

NetBeans IDE Java Quick Start Tutorial

JAVA Unit testing Java, winter semester

INF160 IS Development Environments

MEAP Edition Manning Early Access Program Get Programming with Java Version 1

Client-side GUI. A simple Swing-gui for searching for proudcts

Netbeans Platform For Beginners

Embedding Graphics in JavaDocs (netbeans IDE)

<Insert Picture Here> Java Virtual Developer Day

JSR377 What's up and what's next. Andres Almiray Canoo Engineering AG

Oracle WebCenter Interaction: Roadmap for BEA AquaLogic User Interaction. Ajay Gandhi Sr. Director of Product Management Enterprise 2.

C# How To Program By Harvey M. Deitel, Paul J. Dietel READ ONLINE

1 Using the NetBeans IDE

Swing from A to Z Some Simple Components. Preface

LIGHTWEIGHT UI TOOLKIT MAKING COMPELLING JAVA ME APPLICATIONS EASY

Deploying Java Platform, Standard Edition (Java SE Platform) in Today s Embedded Devices

1. Instructions for Accessing the FamilyTreeApp Code

Swing from A to Z Using Focus in Swing, Part 2. Preface

Java Programming Fundamentals

Modular Applications and the Lookup API. Geertjan Wielenga NetBeans Team

New Face of z/os Communications Server: V2R1 Configuration Assistant

Eclipse Tutorial. For Introduction to Java Programming By Y. Daniel Liang

TTTK Program Design and Problem Solving Tutorial 3 (GUI & Event Handlings)

SWING - GROUPLAYOUT CLASS

Original GUIs. IntroGUI 1

GUI Programming. Chapter. A Fresh Graduate s Guide to Software Development Tools and Technologies

Eng. Mohammed S. Abdualal

Closing Credits. Tutorial 1

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

Prototyping a Swing Interface with the Netbeans IDE GUI Editor

Graphical User Interface

<Insert Picture Here> JavaFX Overview April 2010

Open Text Web Site Management 10.1

SDKs - Eclipse. SENG 403, Tutorial 2

Radical GUI Makeover with Ajax Mashup

Desktop Studio: Sub-reports

Building a Java ME Test Suite in 15 Minutes

Swing - JLabel. Adding a text (and HTML) labels to a GUI

Graphical User Interfaces

An Overview of FMW MapViewer

Tutorial 4 Creating Forms and Reports

Produced by. Design Patterns. MSc in Computer Science. Eamonn de Leastar

Exam Questions 1Z0-850

Human-Computer Interaction IS4300

Building JavaServer Faces Applications

Abstractness, Specificity, and Complexity in Software Design

Final Examination Semester 2 / Year 2011

Human-Computer Interaction IS4300

How Do I Inspect Error Logs in Warehouse Builder?

Using the Drag-and-Drop Report Builder

JavaFX. Getting Started with JavaFX Scene Builder Release 1.1 E

25. DECUS Symposium THE Application Development Environment for OpenVMS

OLLSCOIL NA héireann THE NATIONAL UNIVERSITY OF IRELAND COLÁISTE NA hollscoile, CORCAIGH UNIVERSITY COLLEGE, CORK. Summer Examination 2012

Advanced Java Programming. Swing. Introduction to Swing. Swing libraries. Eran Werner, Tel-Aviv University Summer, 2005

Oracle Corporation

Oracle Developer Day

Final Examination Semester 2 / Year 2010

Swinging from the Outside

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

(Incomplete) History of GUIs

DbSchema Forms and Reports Tutorial

The Eclipse Rich Client Platform

Sun Java Studio Creator. Ken Paulsen Staff Engineer Sun Microsystems, Incorporated (Slides by: Craig R. McClanahan)

Transcription:

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

Introduction Standards Resurgence of Swing Performance & look and feel Delivery over the web Layout manager & GUI builder Development frameworks 2

Agenda Goals Matisse GUI Builder Framework 1: JSR-296 Tooling Framework 2: NetBeans Platform Conclusion 3

Goals Show that NetBeans IDE is the one-stop shop for all Swing desktop needs Ready out of the box, for applications of all sizes: Demo 1: Matisse GUI Builder Demo 2: Tooling for JSR-296 Demo 3: NetBeans Platform 4

Agenda Goals Matisse GUI Builder Framework 1: JSR-296 Tooling Framework 2: NetBeans Platform Conclusion 5

GroupLayout Part of JDK 6 Principles: Independent dimensions Hierarchical groups Designed to suit GUI Builder needs 6

Matisse GUI Builder Professional quality layout easily done Intuitive drag & drop interface Guidelines Resize, align, optimal spacing Automatically resizes when localized 7

Demo 8

Agenda Goals Matisse GUI Builder Framework 1: JSR-296 Tooling Framework 2: NetBeans Platform Conclusion 9

Motivation for JSR-296 public static void main(string args[]) { // good luck! } 10

JSR-296 Features Lifecycle support Resources Actions Tasks Session state 11

Lifecycle Support (On your own) import javax.swing.*; public class HelloWorldSwing { public static void main(string[] args) { JFrame frame = new JFrame("HelloWorldSwing"); final JLabel label = new JLabel("Hello World"); frame.getcontentpane().add(label); frame.setdefaultcloseoperation(jframe.exit_on_close); frame.pack(); frame.setvisible(true); } } 12

Lifecycle Support (With JSR-296) public class MyApp extends SingleFrameApplication { @Override protected void startup() { JLabel label = new JLabel("Hello World"); show(label); } public static void main(string[] args) { Application.launch(MyApp.class, args); } } 13

Demo of JSR-296 Show all the other JSR-296 features in action. Integrate Flickr into a Swing desktop application based on JSR-296 using NetBeans tooling. 14

Agenda Goals Matisse GUI Builder Framework 1: JSR-296 Tooling Framework 2: NetBeans Platform Conclusion 15

NetBeans Platform What is it? 1.Generic Desktop Framework 2.Infrastructural Plumbing 3.Collection of Libraries 4.NetBeans Platform Tooling 16

Generic Desktop Framework 17

NetBeans Platform 18

Nuance Voice-XML 19

Fiorano Studio 20

Nokia: Mobile Network 21

Sketsa SVG Editor 22

VisualVM 23

AIOTrade 24

NetBeans IDE 25

JCae-CAD 26

MC4J JMX Console 27

JFugue Music Notepad 28

StudioSL: Oil Flow 29

Infrastructural Plumbing 30

Maybe this is your code: 31

Maybe this is you: 32

This should be you... domain expert knowledge 33

Application Plumbing Windowing/docking system Architecture Lifecycle management Persistence Data management Consistent look & feel Distribution/update mechanism 34

Demo 35

Collection of Libraries 36

Javadoc 37

Libraries Window System API Actions API Options Window API Many Editor APIs Visual Library API...and many more 38

Ways to get started Javadoc Tutorials Samples Blog entries Tip: You can use the NetBeans libraries outside the NetBeans Platform 39

NetBeans Platform Tooling 40

Project wizards 41

Outline view 42

NetBeans Platform 43

Project wizards 44

File wizards 45

File wizards Actions API Datasystems API Module Install class Options Dialog API TopComponent class Wizard Descriptor class 46

Configuration 47

Editor 48

Dependencies 49

Dependencies 50

Contextual menus 51

Contextual menus 52

Branding 53

Branding 54

Branding 55

Samples 56

Demo: Porting 57

Porting Demo Outline 1. Start with a simple application. 2. Compare what it is to what the NetBeans Platform has. 3. Create a new plugin project. 4. Move the useful parts of our old application to our new plugin. 5. Run it. 58

Agenda Goals Matisse GUI Builder Framework 1: JSR-296 Tooling Framework 2: NetBeans Platform Conclusion 59

Conclusion Ready out of the box, for applications of all sizes: Demo 1: Matisse GUI Builder Demo 2: Tooling for JSR-296 Demo 3: NetBeans Platform Showed that NetBeans IDE is the one- stop shop for all Swing desktop needs 60

Resources Matisse GUI Builder http://www.netbeans.org/kb/trails/matisse.html http://weblogs.java.net/blog/tpavek Framework 2: NetBeans Platform http://platform.netbeans.org http://edu.netbeans.org/courses/nbplatform- certified-training/ http://nbjfuguesupport.dev.java.net/ http://netbeans.dzone.com http://blogs.sun.com/geertjan 61

Q/A 62