Session 4: Java Core Technologies

Total Page:16

File Type:pdf, Size:1020Kb

Session 4: Java Core Technologies Extreme Java G22.3033-007 Session 4 - Main Theme Java Core Technologies (Part II) Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 1 Agenda • Summary of Previous Session • Java AWT and Swing components • Drag and Drop • Graphics and Multimedia Components (JavaMedia) • JavaBeans • Readings • Class Project & Assignment #2b 2 1 Summary of Previous Session • Java Platforms and Features • J2SE Core Components and Optional Packages •Swing • Collections Framework • Assistive Technologies • Introduction to J2EE • XML and Java • Readings • Class Project & Assignment #2a 3 Java Technologies/Features in Scope • Technologies: • Collections Framework • Input Method Framework • Swing • Drag and Drop • JavaBeans •JNI • Security • Language Features: • Threads • Assertions 4 2 Part I User Interfacing Technology 5 AWT & Swing Components http://java.sun.com/j2se/1.4/docs/guide/swing/index.html • Swing is part of the Java Foundation Classes (JFC) • Swing implements GUI components with “PLAF” • PLAF: “Pluggable Look and Feel” • GUI components automatically adapt their look and feel to that of the OS platform • Swing includes the AWT component • Button, Scrollbar, Label, etc. • Swing also includes higher level components • TreeView, list box, tabbed panes, etc. • See Session 3 Sub-Topic 1 Presentation on Swing • See Session 3 Handout on Detailed Review of the Swing Packages 6 3 AWT & Swing Components (Java 2 SDK 1.4 Enhancements) • Indeterminate progress bars (JProgressBar) • Show that a time-consuming operation is occurring • Do not show the degree of completeness of an operation • JTabbedPane: Scrollable Tabs • Spinners • Let users select a value from an ordered set • JFormattedTextField • Supports input of dates in current locale format 7 AWT & Swing Components (Java 2 SDK 1.4 Enhancements - continued) • Popup and PopupFactory Changes • Allows popup compatibilty with custom look and feel implementations • New AWT Focus Model Specification • Windows Look and Feel Updates 8 4 Swing vs. SWT • Eclipse Open Platform for Tool Integration • 100% implemented in Java • Support extensions based on “plug-ins” • Does not use a single line of AWT or Swing! • Used the Standard Widget Toolkit (SWT) and JFace for more complex widgets, images, and font registries • SWT uses native widgets except when a class of widget is not commonly available on all target platforms. • In that case, SWT emulates the widget 9 Swing vs. SWT (continued) • SWT Advantages • GUIs look and feel exactly like native GUIs • Graphics performance is close to native • Platform-specific features can be accessed if desired • E.g., embedding ActiveX controls, and using native DnD • SWT Drawbacks • No support for pluggable look and feels • Door open to write non-portable code • See STW/Swing comparison sample program at: http://www.fawcette.com/javapro/2002_12/magazine/column s/proshop/page2.asp 10 5 SwingML (http://swingml.sourceforge.net/) • Markup language to render JFC/Swing based GUIs in a Web browser • Alternatives? • Use JSP, JavaBeans, XSLT, and Servlets to generate dynamic HTML • HTML cannot support complex functionality such as a Tree component with D&D • Use JavaScript and Applets • JavaScript support is not uniform across browsers • Applets combined with JFC/Swing components • Difficult to retrieve information from server: use RMI, HTTP Tunneling, or … XML! 11 SwingML Architecture • Server-side component produces SwingML and returns it to the client side • On the client side, an applet (“renderer”) receives the SwingML markup text and uses it to render the GUI 12 6 XML-based User Interface Language (XUL) (http://www.mozilla.org/xpfe/xptoolkit/xulintro.html) <?xml version="1.0"?> <?xml-stylesheet href="chrome://global/skin/xul.css" type="text/css"?> <!DOCTYPE window> <window id="main-window" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <menubar> <menu name="File"> <menuitem name="Hello World!" onclick="dump('Hello world!\n');"/> </menu> </menubar> <html:iframe id="content-frame" src="contentframe.html" flex="100%"/> </window> 13 Other Rich, Cross-Platform, ZAC GUI Solutions • Known Variations • (1) Browser-plugins (a la Applets, SVG) - Flash • (2) Language (a la Java, JavaScript) - Curl, Rebol • (3) Improved HTML (a la XUL) - NexaWeb, SashXB • (4) Improved installers (a la Web Start) - AppStream • Luxor XUL (http://luxor-xul.sourceforge.net) • XML Windowing Toolkit - XWT (http://www.xwt.org) • JellySwing (http://jakarta.apache.org/commons/sandbox/jelly/jellyswing.html) •Thinlets (http://www.thinlet.com/) • KoalaGM (http://koalagml.sourceforge.net/) • Java GUI Builder (http://jgb.sourceforge.net/) • Not Yet Xulux (Nyx), Motlib.Net, Rocklyte Systems, Altio, Bali Spidertop, droplets, Ultra Light Client (ULC), Kenamea, Softricity, etc. 14 7 Light Client GUI Solutions Selection Criteria • Must be able to support alternative GUI toolkits • Sun’s Swing, Eclipse’s SWT, Trolltech Qt, Gnome Gtk+, etc. • Must be able to support various programming language engine • Java, C#, Shark, etc. 15 Part II Drag and Drop 16 8 Drag and Drop • See Session 4 Handout on Drag and Drop Data Transfer 17 New Drag and Drop Architecture http://java.sun.com/j2se/1.4/docs/guide/swing/1.4/dnd.html • Swing added support for data transfer between applications • Drag and Drop (DnD) • Clipboard transfer via cut / copy / paste • Data transfer support changes • API to enable data transfer with a few method calls • New TransferHandler class, and JComponent property methods setTransferHandler and getTransferHandler • Swing DnD implementation can be disabled to use that of AWT • Look and feel implementation changes 18 9 New Drag and Drop Architecture (Adding Dnd Support to a Label text property) JLabel componentType = new JLabel(); componentType.setTransferHandler(new TransferHandler("text")); MouseListener ml = new MouseAdapter() { public void mousePressed(MouseEvent e) { JComponent c = (JComponent)e.getSource(); TransferHandler th = c.getTransferHandler(); th.exportAsDrag(c, e, TransferHandler.COPY); } }; componentType.addMouseListener(ml); 19 Part III Java Media Framework (JMF) 20 10 Graphics and Multimedia Components • Media APIs: • Enables developers to create Java applets and applications that can handle rich, interactive media types (audio, video, 2D imaging, 3D graphics, animation, collaboration, telephony, and speech) • Java 2D (line art, text, and imaging), Java 3D, Java Advanced Imaging, Java Media Framework (JMF), Java Speech, Java Sound, Java Telephony • See Session 3 Handout on Java Platform Component APIs • See Session 4 Handout on Graphics and Multimedia Components - Java 2D 21 Part IV JavaBeans Component Architecture 22 11 JavaBeans • See Session 4 Handout on Component Modeling with JavaBeans • The JavaBeans component architecture allows reusable component development • The JavaBeans specification defines a set of standard component software APIs for the Java platforms • Javabeans components interoperate with ActiveX • JavaBeans APIs are portable to mainstream containers (IE, VB, Microsoft Word, Lotus Notes, etc.) 23 JavaBeans Enhancements in 1.4 (http://java.sun.com/j2se/1.4/docs/guide/beans/changes14.html) • New API for Long-Term Persistence • Other API Additions • Changes to the Introspector • Garbage Collection and Custom Attributes • Bean Builder 1.0 Beta • Java Web Start-enabled Visual application builder that includes source code • http://java.sun.com/products/javabeans/beanbuilder/index.html 24 12 JavaBeans Activation Framework (JAF) • Framework can be used to: • (a) determine the type of an arbitrary piece of data • (b) encapsulate access to it • (b) discover the operations available on it • (c) instantiate appropriate Beans components to perform these operations • See: • http://java.sun.com/products/javabeans/glasgow/jaf.html 25 Part V Readings and Assignment 26 13 Assignment • Readings • Mastering Java 2: Part 2 – Chap. 12-13, 15, 21 • Expert One-on-One: Chapter 2-4 as applicable (cont.) • Selected readings mentioned in class or referenced in the handouts • Handouts posted on the course web site • Assignment #2b: (submit report and implementation archive) • Add drag-and-drop facilities to the Java framework-based application developed in assignment #2a. • Extra credit: Reimplement (part of) the GUI using SWT • Refer to the Homework #2 Specification posted on the course Web site. • Project Framework Setup • J2EE IDE: IBM WSAD, WAS, DB2 • Java Plug-in, Java Web Start, Apache’s Xerces/Xalan • J2SE 1.3.1, 1.4.0 or 1.4.1 (SDK) • IDE: Eclipse, NetBeans, Sun ONE Studio, JBuilder, Visual Age, Visual Café, Codewarrior, WebGain Studio, Oracle JDeveloper, etc. • Editors: JCreator, UltraEdit, etc. 27 14.
Recommended publications
  • R&S®BBA100 Broadband Amplifier Open
    R&S®BBA100 Broadband Amplifier Open Source Acknowledgment 5353.8300.00 – 01 /RL/1/EN 01.00 / Broadcasting 3575.4620.02 M: - T - PAD Open Source Acknowledgment R&S BBA100 Introduction Contents 1 Introduction ......................................................................................... 3 1.1 Disclaimer ..................................................................................................................... 3 1.2 How to obtain the source code .................................................................................. 3 2 Software packages ............................................................................. 4 3 Verbatim license texts ........................................................................ 7 3.1 Apache License 2.0 ..................................................................................................... 7 3.2 GNU Library General Public License, Version 2.0 (LGPL 2.0) ..............................10 3.3 Boost Software License ............................................................................................18 3.4 GNU General Public License, Version 2.0 (GPL 2.0) ..............................................18 3.5 GNU Lesser General Public License, Version 2.1 (LGPL 2.1) ...............................24 3.6 Mozilla Public License, Version 1.1 (MPL 1.1) ........................................................32 3.7 MIT ...............................................................................................................................40 3.8 JDOM License
    [Show full text]
  • Swing: Components for Graphical User Interfaces
    Swing: Components for Graphical User Interfaces Computer Science and Engineering College of Engineering The Ohio State University Lecture 22 GUI Computer Science and Engineering The Ohio State University GUI: A Hierarchy of Nested Widgets Computer Science and Engineering The Ohio State University Visual (Containment) Hierarchy Computer Science and Engineering The Ohio State University Top-level widgets: outermost window (a container) Frame, applet, dialog Intermediate widgets: allow nesting (a container) General purpose Panel, scroll pane, tabbed pane, tool bar Special purpose Layered pane Atomic widgets: nothing nested inside Basic controls Button, list, slider, text field Uneditable information displays Label, progress bar, tool tip Interactive displays of highly formatted information Color chooser, file chooser, tree For a visual (“look & feel”) of widgets see: http://java.sun.com/docs/books/tutorial/uiswing/components Vocabulary: Widgets usually referred to as “GUI components” or simply “components” History Computer Science and Engineering The Ohio State University Java 1.0: AWT (Abstract Window Toolkit) Platform-dependent implementations of widgets Java 1.2: Swing Most widgets written entirely in Java More portable Main Swing package: javax.swing Defines various GUI widgets Extensions of classes in AWT Many class names start with “J” Includes 16 nested subpackages javax.swing.event, javax.swing.table, javax.swing.text… Basic GUI widgets include JFrame, JDialog JPanel, JScrollPane, JTabbedPane,
    [Show full text]
  • Adult Coloring Journal : Health & Wellness (Pet Illustrations, Pastel Floral)
    ADULT COLORING JOURNAL : HEALTH & WELLNESS (PET ILLUSTRATIONS, PASTEL FLORAL) Author: Courtney Wegner Number of Pages: 162 pages Published Date: 20 May 2016 Publisher: Adult Coloring Journal Press Publication Country: United States Language: English ISBN: 9781357676728 DOWNLOAD: ADULT COLORING JOURNAL : HEALTH & WELLNESS (PET ILLUSTRATIONS, PASTEL FLORAL) Adult Coloring Journal : Health & Wellness (Pet Illustrations, Pastel Floral) PDF Book For instructors, this is a great book if they don t have their own class notes one can teach straight from the book. The Art and Science of Photovoltaics series was developed to fill this education gap. " Human being is inseparable from animality. One of the core underpinnings of Eclipse is SWT, the Standard Widget Toolkit. This book was published as a special issue of Development in Practice. Visit a dinosaur dig site or a famous dinosaur track site-- and even make your own cast of fossilized tracks. This ground breaking work should be of special interest to life science professionals working in the areas of knowledge management, data mining, and visualization. ABOUT THE SERIES: The Very Short Introductions series from Oxford University Press contains hundreds of titles in almost every subject area. Built around a comprehensive directory of professional qualifying bodies each professional area is described in depth and its qualifications identified and explained. Another force behind successful habit change is belief in the ability to change the habit. Each play introduces students to a specific world culture by looking at holidays celebrated in that culture. You'll discover fresh and re-energized lessons, completely updated research, and vibrant vignettes from new colleagues and old friends who have as much passion for their subjects as you do.
    [Show full text]
  • JETIR Research Journal
    © 2018 JETIR October 2018, Volume 5, Issue 10 www.jetir.org (ISSN-2349-5162) QUALITATIVE COMPARISON OF KEY-VALUE BIG DATA DATABASES 1Ahmad Zia Atal, 2Anita Ganpati 1M.Tech Student, 2Professor, 1Department of computer Science, 1Himachal Pradesh University, Shimla, India Abstract: Companies are progressively looking to big data to convey valuable business insights that cannot be taken care by the traditional Relational Database Management System (RDBMS). As a result, a variety of big data databases options have developed. From past 30 years traditional Relational Database Management System (RDBMS) were being used in companies but now they are replaced by the big data. All big bata technologies are intended to conquer the limitations of RDBMS by enabling organizations to extract value from their data. In this paper, three key-value databases are discussed and compared on the basis of some general databases features and system performance features. Keywords: Big data, NoSQL, RDBMS, Riak, Redis, Hibari. I. INTRODUCTION Systems that are designed to store big data are often called NoSQL databases since they do not necessarily depend on the SQL query language used by RDBMS. NoSQL today is the term used to address the class of databases that do not follow Relational Database Management System (RDBMS) principles and are specifically designed to handle the speed and scale of the likes of Google, Facebook, Yahoo, Twitter and many more [1]. Many types of NoSQL database are designed for different use cases. The major categories of NoSQL databases consist of Key-Values store, Column family stores, Document databaseand graph database. Each of these technologies has their own benefits individually but generally Big data use cases are benefited by these technologies.
    [Show full text]
  • View of XML Technology
    AN APPLICATION OF EXTENSlBLE MARKUP LANGUAGE FOR INTEGRATION OF KNOWLEDGE-BASED SYSTEM WITH JAVA APPLICATIONS A Thesis Presented to The Faculty of the Fritz J. and Dolores H. Russ College of Engineering and Technology Ohio University In Partial Fulfillment of the Requirement for the Degree Master of Science BY Sachin Jain November, 2002 ACKNOWLEDGEMENTS It is a pleasure to thank the many people who made this thesis possible. My sincere gratitude to my thesis advisor, Dr. DuSan Sormaz, who helped and guided me towards implementing the ideas presented in this thesis. His dedication to research and his effort in the development of my thesis was an inspiration throughout this work. The thesis would not be successful without other members of my committee, Dr. David Koonce and Dr. Constantinos Vassiliadis. Special thanks to them for their substantial help and suggestions during the development of this thesis. I would like also to thank Dr. Dale Masel for his class on guidelines for how to write thesis. Thanlts to my fellow colleagues and members of the lMPlanner Group, Sridharan Thiruppalli, Jaikumar Arumugam and Prashant Borse for their excellent cooperation and suggestions. A lot of infom~ation~1sef~11 to the work was found via the World Wide Web; 1 thank those who made their material available on the Web and those who kindly responded back to my questions over the news-groups. Finally, it has been pleasure to pursue graduate studies at IMSE department at Ohio University, an unique place that has provided me with great exposures to intricacies underlying development, prograrn~ningand integration of different industrial systems; thus making this thesis posslbie.
    [Show full text]
  • A Java Implementation of a Portable Desktop Manager Scott .J Griswold University of North Florida
    UNF Digital Commons UNF Graduate Theses and Dissertations Student Scholarship 1998 A Java Implementation of a Portable Desktop Manager Scott .J Griswold University of North Florida Suggested Citation Griswold, Scott .,J "A Java Implementation of a Portable Desktop Manager" (1998). UNF Graduate Theses and Dissertations. 95. https://digitalcommons.unf.edu/etd/95 This Master's Thesis is brought to you for free and open access by the Student Scholarship at UNF Digital Commons. It has been accepted for inclusion in UNF Graduate Theses and Dissertations by an authorized administrator of UNF Digital Commons. For more information, please contact Digital Projects. © 1998 All Rights Reserved A JAVA IMPLEMENTATION OF A PORTABLE DESKTOP MANAGER by Scott J. Griswold A thesis submitted to the Department of Computer and Information Sciences in partial fulfillment of the requirements for the degree of Master of Science in Computer and Information Sciences UNIVERSITY OF NORTH FLORIDA DEPARTMENT OF COMPUTER AND INFORMATION SCIENCES April, 1998 The thesis "A Java Implementation of a Portable Desktop Manager" submitted by Scott J. Griswold in partial fulfillment of the requirements for the degree of Master of Science in Computer and Information Sciences has been ee Date APpr Signature Deleted Dr. Ralph Butler Thesis Advisor and Committee Chairperson Signature Deleted Dr. Yap S. Chua Signature Deleted Accepted for the Department of Computer and Information Sciences Signature Deleted i/2-{/1~ Dr. Charles N. Winton Chairperson of the Department Accepted for the College of Computing Sciences and E Signature Deleted Dr. Charles N. Winton Acting Dean of the College Accepted for the University: Signature Deleted Dr.
    [Show full text]
  • Java Programming Language, Java SE 6
    Java Programming Language, Java SE 6 Electronic Presentation SL-275-SE6 REV G.2 D61748GC11 Edition 1.1 Copyright © 2008, 2010, Oracle and/or its affiliates. All rights reserved. Disclaimer This document contains proprietary information, is provided under a license agreement containing restrictions on use and disclosure, and is protected by copyright and other intellectual property laws. You may copy and print this document solely for your own use in an Oracle training course. The document may not be modified or altered in any way. Except as expressly permitted in your license agreement or allowed by law, you may not use, share, download, upload, copy, print, display, perform, reproduce, publish, license, post, transmit, or distribute this document in whole or in part without the express authorization of Oracle. The information contained in this document is subject to change without notice. If you find any problems in the document, please report them in writing to: Oracle University, 500 Oracle Parkway, Redwood Shores, California 94065 USA. This document is not warranted to be error-free. Sun Microsystems, Inc. Disclaimer This training manual may include references to materials, offerings, or products that were previously offered by Sun Microsystems, Inc. Certain materials, offerings, services, or products may no longer be offered or provided. Oracle and its affiliates cannot be held responsible for any such references should they appear in the text provided. Restricted Rights Notice If this documentation is delivered to the U.S. Government or anyone using the documentation on behalf of the U.S. Government, the following notice is applicable: U.S.
    [Show full text]
  • LWUIT Developer's Guide
    Lightweight UI Toolkit Developer’s Guide Part No. 07-08-10 July 2010 Copyright © 2008, 2010 Oracle and/or its affiliates. All rights reserved. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related software documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle America, Inc., 500 Oracle Parkway, Redwood City, CA 94065.
    [Show full text]
  • Programming Java for OS X
    Programming Java for OS X hat’s so different about Java on a Mac? Pure Java applica- tions run on any operating system that supports Java. W Popular Java tools run on OS X. From the developer’s point of view, Java is Java, no matter where it runs. Users do not agree. To an OS X user, pure Java applications that ignore the feel and features of OS X are less desirable, meaning the customers will take their money elsewhere. Fewer sales translates into unhappy managers and all the awkwardness that follows. In this book, I show how to build GUIs that feel and behave like OS X users expect them to behave. I explain development tools and libraries found on the Mac. I explore bundling of Java applications for deployment on OS X. I also discuss interfacing Java with other languages commonly used on the Mac. This chapter is about the background and basics of Java develop- ment on OS X. I explain the history of Java development. I show you around Apple’s developer Web site. Finally, I go over the IDEs commonly used for Java development on the Mac. In This Chapter Reviewing Apple Java History Exploring the history of Apple embraced Java technologies long before the first version of Java on Apple computers OS X graced a blue and white Mac tower. Refugees from the old Installing developer tan Macs of the 1990s may vaguely remember using what was tools on OS X called the MRJ when their PC counterparts were busy using JVMs. Looking at the MRJ stands for Mac OS Runtime for Java.
    [Show full text]
  • A Study on Advance Java with Database Management
    IJRDO - Journal of Computer Science and Engineering ISSN: 2456-1843 ENGINEERING A STUDY ON ADVANCE JAVA WITH DATABASE MANAGEMENT MONIKA JATIWAL , CHETNA ARORA , CHARU ARORA OUTLINE 1. Introduction 1.1 API 1.2 Applets 1.3 Swing 1.4 Java Software: Net beans 1.5 Features of advance java 2. Database Management 2.1 SQL as a Data Definition Language 2.2 JDBC 2.3 Microsoft ODBC 3. Database connectivity 4. Advantage of Advance Java 5. Conclusion 6. References ABSTRACT This paper gives a short description about the java and database connectivity. It describes the advance java features with database Volume-1 | Issue-1 | January, 2016 | Paper-1 1 IJRDO - Journal of Computer Science and Engineering ISSN: 2456-1843 JOURNAL OF COMPUTER SCIENCE AND ENGINEERING connectivity. It also describes the application programming interface with applets and swings. This paper explains about the java and its connectivity with database. It describes the structured query language as a data definition and data manipulation language. It also defines the java platform. 1. INTRODUCTION Java is a high-level object-oriented programming language developed by the Sun Microsystems. Though it is associated with the World Wide Web but it is older than the origin of Web. It was only developed keeping in mind the consumer electronics and communication equipment’s. It came into existence as a part of web application, web services and a platform independent programming language in the 1990s. Earlier, C++ was widely used to write object oriented programming languages, however, it was not a platform independent and needed to be recompiled for each different CPUs.
    [Show full text]
  • The GNOME Desktop Environment
    The GNOME desktop environment Miguel de Icaza ([email protected]) Instituto de Ciencias Nucleares, UNAM Elliot Lee ([email protected]) Federico Mena ([email protected]) Instituto de Ciencias Nucleares, UNAM Tom Tromey ([email protected]) April 27, 1998 Abstract We present an overview of the free GNU Network Object Model Environment (GNOME). GNOME is a suite of X11 GUI applications that provides joy to users and hackers alike. It has been designed for extensibility and automation by using CORBA and scripting languages throughout the code. GNOME is licensed under the terms of the GNU GPL and the GNU LGPL and has been developed on the Internet by a loosely-coupled team of programmers. 1 Motivation Free operating systems1 are excellent at providing server-class services, and so are often the ideal choice for a server machine. However, the lack of a consistent user interface and of consumer-targeted applications has prevented free operating systems from reaching the vast majority of users — the desktop users. As such, the benefits of free software have only been enjoyed by the technically savvy computer user community. Most users are still locked into proprietary solutions for their desktop environments. By using GNOME, free operating systems will have a complete, user-friendly desktop which will provide users with powerful and easy-to-use graphical applications. Many people have suggested that the cause for the lack of free user-oriented appli- cations is that these do not provide enough excitement to hackers, as opposed to system- level programming. Since most of the GNOME code had to be written by hackers, we kept them happy: the magic recipe here is to design GNOME around an adrenaline response by trying to use exciting models and ideas in the applications.
    [Show full text]
  • Customizing Eclipse RCP Applications Techniques to Use with SWT and Jface
    Customizing Eclipse RCP applications Techniques to use with SWT and JFace Skill Level: Intermediate Scott Delap ([email protected]) Desktop/Enterprise Java Consultant Annas Andy Maleh ([email protected]) Consultant 27 Feb 2007 Most developers think that an Eclipse Rich Client Platform (RCP) application must look similar in nature to the Eclipse integrated development environment (IDE). This isn't the case, however. This tutorial will explain a number of simple techniques you can use with the Standard Widget Toolkit (SWT) and JFace to create applications that have much more personality than the Eclipse IDE. Section 1. Before you start About this tutorial This tutorial will explain a number of UI elements that can be changed in Eclipse RCP, JFace, and SWT. Along the way, you will learn about basic changes you can make, such as fonts and colors. You will also learn advanced techniques, including how to create custom wizards and section headers. Using these in conjunction should provide you the ability to go from a typical-looking Eclipse RCP application to a distinctive but visually appealing one. Prerequisites Customizing Eclipse RCP applications © Copyright IBM Corporation 1994, 2008. All rights reserved. Page 1 of 40 developerWorks® ibm.com/developerWorks You should have a basic familiarity with SWT, JFace, and Eclipse RCP. System requirements To run the examples, you need a computer capable of adequately running Eclipse V3.2 and 50 MB of free disk space. Section 2. Heavyweight and lightweight widgets Before diving into techniques that can be used to modify SWT, JFace, and Eclipse RCP in general, it's important to cover the fundamental characteristics of SWT and how they apply to the appearance of the widget set.
    [Show full text]