Flamingo component suite 3.0 – the first drop
After writing about the project vision and posting a few teaser screenshots, it’s finally time for the first source and binary drops of Flamingo component suite version 3.0 code-named Deirdre. Over the next few entries I will write more about each one of the components, how it fits into the project vision, how it is implemented and how you can use it in your application. Right now i will just give a brief overview of the components; if you’re interested in the code or the test applications, you can find those in the Documents & Files section and the CVS repository.
- The
org.jvnet.flamingo.bcb
contains the base class for the breadcrumb bar components, while theorg.jvnet.flamingo.bcb.core
contains pre-packaged core implementations that allow navigating local file system, wrap an existing tree model and navigate a remote SVN repository. - The
org.jvnet.flamingo.common
contains most of the common components:AbstractCommandButton
and its extensions,JCommandButton
andJToggleCommandButton
provide powerful extensions to the coreJButton
andJToggleButton
classes, adding optional popup action area (split buttons) and automatic resizability with adaptive layout.JCommandButtonPanel
is a host panel forAbstractCommandButton
s with adaptive layout, groupings and optional single selection mode. It can be used to provide functionality similar to Windows Explorer or Leopard Control Panel.AbstractFileViewPanel
is an extension ofJCommandButtonPanel
with support for progress tracking and canceling, backed up by aSwingWorker
. Sample usage is illustrated intest.imageviewer.Viewer
that implements a simple image viewer (also shows an example of local file breadcrumb bar and resizable icons).J
PopupPanel
is the base class that allows showing anyComponent
in a popup window, with support for multiple (cascading) rich popup panels in thePopupPanelManager
class . TheJIconPopupPanel
allows wrapping aJCommandButtonPanel
in a popup with configurable scrolling and maximum width.
- The
org.jvnet.flamingo.common.icon
contains the classes for resizable icons. The base interface isResizableIcon
, extending the coreIcon
interface and adding a number of methods for resizability support. Other classes in this package provide utility implementations (such asImageWrapperResizableIcon
that creates a resizable icon from a specified image). - The
org.jvnet.flamingo.ribbon
contains the implementation of Office 2007 ribbon component. It reuses the vast majority of other Flamingo components such asJCommandButton
,JToggleCommandButton
,JPopupPanel
,
JIconPopupPanel
andResizableIcon
. - The
org.jvnet.flamingo.svg
contains classes that allow showing an SVG image as aResizableIcon
and to transcode SVG image to the matching Java2D code. The implementation is backed by the Apache Batik library.
For more information you can either wait for the next few entries or dive right into the code at the project site. Note that while most of the API and the implementation is stable, some of the functionality is either missing or will be refactored. If you have any questions, post them at project forums or mailing lists.