Using NetBeans IDE for Desktop Development Geertjan Wielenga

Slides:



Advertisements
Similar presentations
Introduction to Java 2 Programming
Advertisements

Goals Give you a feeling of what Eclipse is.
Introduction to JFC Swing Written by Adam Carmi. Agenda About JFC and Swing Pluggable Look and Feel Swing Components Borders Layout Management Events.
Unit 091 Introduction to GUI Programming Introduction to User Interfaces Introduction to GUI Programming GUI Design Issues GUI Programming Issues Java.
NetBeans IDE Tal Maoz Na’ama Zahavi.
Java Tutorial – Building GUIs Java with Added Swing Daniel Bryant
Writing GUI Applications An introduction with Java.
Object-Oriented Software Engineering Java with added Swing.
An Introduction to Software Engineering Principals Using Java’s Swing Libraries.
NetBeans IDE Vishnuvardhan.M Dept. of Computer Science - SSBN.
Java Swing Joon Ho Cho. What is Java Swing? Part of the Java Foundation Classes (JFC) Provides a rich set of GUI components Used to create a Java program.
Creating of Rich Client Applications using NetBeans 6 and Java Swing Miroslav Nachev.
CIS3023: Programming Fundamentals for CIS Majors II Summer 2010 Ganesh Viswanathan Graphical User Interface (GUI) Design using Swing Course Lecture Slides.
VoiceXML Builder Arturo Ramirez ACS 494 Master’s Graduate Project May 04, 2001.
GUI Basics: Introduction. Creating GUI Objects // Create a button with text OK JButton jbtOK = new JButton("OK"); // Create a label with text "Enter your.
Introduction to Java GUI Creating Graphical User Interfaces © copyright Bobby Hoggard / material may not be redistributed without permission.
Intro to Java 2 By Geb Thomas Based on the Java TutorialJava Tutorial.
Introduction to Eclipse Plug-in Development. Who am I? Scott Kellicker Java, C++, JNI, Eclipse.
Java GUI CSCE 190 – Java Instructor: Joel Gompert Mon, July 26, 2004.
Ch 1. A Python Q&A Session Spring Why do people use Python? Software quality Developer productivity Program portability Support libraries Component.
Introducing the Eclipse Visual Editor David Gallardo.
Session 27 Swing vs. AWT. AWT (Abstract Window ToolKit) It is a portable GUI library for stand-alone applications and/or applets. The Abstract Window.
1 CSC111H Graphical User Interfaces (GUIs) Introduction GUIs in Java Understanding Events A Simple Application The Containment Hierarchy Layout Managers.
FEN IntroJava2006 AAU1 GUI: Graphical User Interface AWT/SWING: Components Drag and Drop in NetBeans Events Listeners.
MSc Workshop - © S. Kamin, U. ReddyLect 3 - GUI -1 Lecture 3 - Graphical User Interfaces r GUI toolkits in Java API r JFrame r GUI components.
1 Java Swing - Lecture 2 Components and Containment Boriana Koleva
 GUI – Graphic User Interface  Up to now in the programs we have written all output has been sent to the standard output device i.e.: the DOS console.
Surya Bahadur Kathayat Outline  Ramses  Installing Ramses  Ramses Perspective (Views and Editors)  Importing/Exporting Example.
® IBM Software Group © 2007 IBM Corporation Module 1: Getting Started with Rational Software Architect Essentials of Modeling with IBM Rational Software.
Sadegh Aliakbary Sharif University of Technology Fall 2011.
Creating Modular CRUD Desktop Applications Jiri Rechtacek Geertjan Wielenga.
Lecture # 6 Graphical User Interface(GUI). Introduction A graphical user interface (GUI) presents a user- friendly mechanism for interacting with an application.
Developing GUIs With the Eclipse Visual Editor, Swing/AWT Edition David Gallardo.
1 A Quick Java Swing Tutorial. 2 Introduction Swing – A set of GUI classes –Part of the Java's standard library –Much better than the previous library:
CREATING A SIMPLE GUI Mr. Crone. First GUI Today we will use Swing to create the following application:
Guide To Develop Mobile Apps With Titanium. Agenda Overview Installation of Platform SDKs Pros of Appcelerator Titanium Cons of Appcelerator Titanium.
Module 13: Swing API Object Oriented Programming(Java)
Visual Mobile Applications with Netbeans 6.0 Your Name Sun Campus Ambassador Your Address.
Web Services with Netbeans 6.0 Your Name Sun Campus Ambassador Your Address.
NetBeans Platform Petr Suchomel David Šimonek Miloš Kleint Sun Microsystems.
Visual Mobile Gaming Your Name Sun Campus Ambassador Your Address.
Introduction to the NetBeans Platform Certified Training Course Geertjan Wielenga Sun Microsystems.
A First NetBeans Platform Application David Šimonek Sun Microsystems.
Beans Binding Framework & Swing Application Framework Geertjan Wielenga http//netbeans.dzone.com.
Getting Started with the NetBeans Platform. Extending NetBeans Possibilities > single module > suite of modules > standalone application > like a suite.
NetBeans Platform David Štrupl Sun Microsystems. Certified Engineer Course Agenda Small vs. Large Teams Libraries vs. Frameworks A Bit of History Why.
Swing Application Framework and Beans Binding David Botterill
Porting a Swing Application to the NetBeans Platform Anton Epple
NetBeans Rich Client Platform Alex Kotchnev Software Developer Commerce Technologies Inc. Alex Kotchnev Software Developer Commerce Technologies Inc.
Consumer IDE Jiri Rechtacek Geertjan Wielenga Sun Microsystems.
Hello NetBeans Platform
Presenter Name This presentation introduces Swing Application Framework and Beans Binding JSRs. These are two new JSRs which greatly.
Chapter 3: I Need a Tour Guide (Introduction to Visual Basic 2012)
CSC 222: Object-Oriented Programming
Game Engine Architecture
Recap Modules: dependency management, revisioning, information hiding
Goals Give you a feeling of what Eclipse is.
Geertjan Wielenga
Netbeans 6.0 Your Name Sun Campus Ambassador Your Address.
Nodes & Explorer Views Geertjan Wielenga Sun Microsystems.
New Features in NetBeans Platform 6.5.
Geertjan Wielenga This presentation introduces Swing Application Framework and Beans Binding JSRs. These are two new JSRs.
Productivity Tools Extensions to NetBeans IDE that make life easier
Game Engine Architecture
Introduction to Graphical Interface Programming in Java
Getting Started ARCS Lab..
NetBeans Plugin Development Workshop
A Quick Java Swing Tutorial
Advanced Programming in Java
Sharing Code across Platforms with Visual Studio 2015
Presentation transcript:

Using NetBeans IDE for Desktop Development Geertjan Wielenga

2 Agenda ● Goals ● Design: Matisse GUI Builder ● Medium Applications: JSR-296 Tooling ● Large Applications: NetBeans Platform ● Conclusion

3 ● 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 Goals

4 ● Goals ● Design: Matisse GUI Builder ● Medium Applications: JSR-296 Tooling ● Large Applications: NetBeans Platform ● Conclusion Agenda

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 ● Goals ● Design: Matisse GUI Builder ● Medium Applications: JSR-296 Tooling ● Large Applications: NetBeans Platform ● Conclusion Agenda

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

10 ● Lifecycle support ● Resources ● Actions ● Tasks ● Session state JSR-296 Features

11 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); } Lifecycle Support (On your own)

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

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

14 ● Goals ● Design: Matisse GUI Builder ● Medium Applications: JSR-296 Tooling ● Large Applications: NetBeans Platform ● Conclusion Agenda

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

16 Agenda ● Goals 1.Generic Desktop Framework 2.Infrastructural Plumbing 3.Collection of Libraries 4.NetBeans Platform Toolkit

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 Agenda ● Goals 1.Generic Desktop Framework 2.Infrastructural Plumbing 3.Collection of Libraries 4.NetBeans Platform Toolkit

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 ● Archictecture ● Lifecycle management ● Persistence ● Data management ● Consistent look & feel ● Distribution/update mechanism

34 Demo

35 Agenda ● Goals 1.Generic Desktop Framework 2.Infrastructural Plumbing 3.Collection of Libraries 4.NetBeans Platform Toolkit

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: Use them outside the NetBeans Platform

39 Agenda ● Goals 1.Generic Desktop Framework 2.Infrastructural Plumbing 3.Collection of Libraries 4.NetBeans Platform Toolkit

40 Project wizards

41 NetBeans Platform

42 Outline view

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 While developing......enhance the IDE

49 Dependencies

50 Dependencies

51 Contextual menus

52 Contextual menus

53 Samples

54 Demo: Porting

55 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.

56 Porting Guide nbm-porting-basic.html

57 ● Goals ● Design: Matisse GUI Builder ● Medium Applications: JSR-296 Tooling ● Large Applications: NetBeans Platform ● Conclusion Agenda

58 ● Resources

59 ● 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 Conclusion