
|
| Written by Bryan Chadwick |
Abstract
- A reimplementation of features found in Sun Microsystems'
BDK created in the context of an Eclipse plugin. The
Plugin is setup as an editor of files with the extension 'ser' and allows the assembling of
JavaBeans that follow Sun's JavaBean Specification and/or allow Introspection of
Properties and Events through
java.beans classes and descriptors.
Beans can be assembled and tested with the use of Property Hookups and a pop-up runtime
java.awt.Frame. Assembled components can then be serialized to a file and read
back later for deployment or further editing.
- See the first Example image for editor explanations
|
Download |
Features
- Seperate Bean design and runtime views
- Property Attachments between Beans (Using BeanInfo Introspection)
- Save/Load of assembled bean files including attachments
- Display of BeanInfo descriptors for each loaded Bean (currently to System.out)
- Dynamic add, remove, resize, and move for all visual components
- Support for Bean Customizers (through
BeanDescriptor.getCustomizerClass())
|
Examples/Screen Shots |
Design Notes
- Due to incompatabilities in Eclipse SWT and Java AWT classes, design and runtime views
must be seperate
- The Eclipse SWT widget model (where each Widget must be created with a parent)
is incompatable with AWTs Container Model (where components are added to containers) makeing SWT visual
components (Beans) impossible (no zero argument constructors).
- The seperation of design and runtime opens up new possibilities and solves some of the
interface limitations of the original BDK:
- Wrapper objects are used only in the design view which solves event propagation
problems and containment issues
- Non visual components are only shown in the design window, opening up space in
the runtime window for specific component placement
- Connections (properties and events) can be shown without cluttering runtime windows
- Bean contexts can be added with different design/runtime semantics and representations
- Runtime window is true-to-life for later applet loading and deployment
- Design specific contexts can be changed without adjusting actual beans or relying on a
visual representation
- General Code cleanup and JavaDoc Generation
|
Future Improvements
- Event Model support needs to be added (both with and without event adapters)
- Icons would be nice in design view
- Loading from Jar resources needs to be facilitated for BeanInfos
- Removing beans should take care of listener removal and other attachments (within reason)
- Visual attachments between components instead of simple wrappers for PorpertyHookups
- Eclipse Editor interface should be more integrated
- Seperate window for Bean List would be nice
- Single shared editor instance should be done (also sharing the Bean List and other resources)
- Save/Load from Workspace files should be investigated
- Applet loader/deployment should be documented and implemented with examples
- Compatability with BDK output files needs to be investigated
- More robust error handling and better messages (from console to pop-up windows)
|
** This plugin currently has no association with the Eclipse Project
For information or comments email : chadwick@ccs.neu.edu
|