The application menu button in the ribbon component from Flamingo component suite is a big round button in the top left corner of the ribbon:

It is not a direct replacement for the usual application menu bar, but rather a place to hold actions that (as a general rule) do not affect the visual content of the document – such as saving, printing, sharing etc.
Prior to version 5.0, the ribbon frame (org.pushingpixels.flamingo.ribbon.JRibbonFrame class) tracked application calls to Window.setIconImages API, located the closest image that fits in the application menu button and used that image. This was a rather awkward solution that did not sit well with pervasive usage of the ResizableIcon interface in other parts of Flamingo. The latest 5.0dev drop of Flamingo (code-named Imogene) will now throw an UnsupportedOperationException if your code calls the setIconImages API. Instead, the application code must use the new JRibbonFrame.setApplicationIcon(ResizableIcon) API.
The ribbon will use the specified resizable icon to create window images and set them on the underlying frame. As a bonus side effect of using this API, you will also get a 128*128 version of the icon automatically passed to Application.setDockIconImage API, providing much better integration with the native Mac OS X application environment:

Note here how the crispness of the dock icon – which is using the same icon source as the application button menu icon. The original SVG is from the Tango icon library, and org.pushingpixels.flamingo.svg.SvgTranscoder was run offline to create a standalone Java2D implementation of the ResizableIcon interface from it.
To test the new functionality in your applications, you will need just the latest 5.0dev drop of Flamingo. As a side note, now that i have moved to Mac as my primary development environment, expect much better desktop integration for both Flamingo and Substance.
The command button component is a central building block for the Flamingo component suite. It aims to address the deficiencies of the core Swing button components, adding features expected by the modern applications. While the main goal of Flamingo is to provide a pure Java implementation of the Office 2007 ribbon container, the command buttons can certainly be used outside the ribbon.
Just as command buttons can be used as drop-in replacement for core Swing buttons, rich tooltips are the extension of the core tooltip functionality. Rich tooltips provide support for main and footer areas, multi-line and multi-section content, as well as embedding main and footer images – all of these are optional and can be combined together freely. While the previous entry talked about providing right-to-left (RTL) support on command buttons and related containers, the latest 5.0dev drop of Flamingo (code-named Imogene) extends this support to rich tooltips.
The first screenshot shows a command button with action and popup areas. Both areas have associated rich tooltips, and the mouse is over the action area. The current locale is en_US:

And here is the same button / tooltip under iw_IL locale:

The same button has a different rich tooltip for the popup area under en_US locale (no main image and only one paragraph in the main section):

and the same button / tooltip under iw_IL locale:

This is the next step towards full RTL support in all Flamingo components. Stay tuned for more. To test the new functionality in your applications, you will need the following:
Note that the last two are required if you’re running your application under one of Substance skins – such as Office Blue 2007 used in all the screenshots in this entry.
With Substance 6.0 in release candidate stage, it’s time to go back and work on the missing features in the Flamingo component suite. As mentioned in the JavaOne ’09 presentation on the project, there are a few features missing in the Swing implementation, and today i’m going to talk about supporting right-to-left orientation on command buttons and related components.
Four RTL languages are supported in Java: Hebrew, Arabic, Farsi, and Urdu. Substance provides full RTL support for core Swing components, and you can see older entries (Aligning menu items in Swing applications – welcome to the real world and RTL support in Swing – part II) for a glimpse of RTL-related issues. The latest drop of Flamingo 5.0 (code-named Imogene) has added RTL support to the following components:
- Command buttons
- Command button strips
- Command button panels
- Command menu buttons
- Command popup menus
RTL support is best illustrated by screenshots, so let’s begin (and yes, the Hebrew texts are notjust gibberish if you were wondering). The first screenshot shows a number of command buttons with different states and kinds (see the JavaOne presentation for more info) under the en_US locale – click for a full size image:

and here are the same buttons under iw_IL locale (with the matching texts) – click for a full size image:

The next screenshot shows a command button with a simple popup containing a few command menu buttons and a separator under en_US locale:

and the same button + menu under iw_IL locale:

Flamingo provides an API to embed a command button panel into the popup menu. Here is how such a menu looks like under en_US locale:

and the same rich popup menu under iw_IL locale:

Command button panels can be used as standalone containers. Here is a button panel with row-fill layout and group titles under en_US locale:

and the same button panel under iw_IL locale (note the order of the buttons):

Command button panel can be configured to use column fill layout:

and it is fully supported in RTL mode (note the order of buttons and groups):

This is the first step towards full RTL support in all Flamingo components. Stay tuned for more. To test the new functionality in your applications, you will need the following:
Note that the last two are required if you’re running your application under one of Substance skins – such as Office Blue 2007 used in all the screenshots in this entry.

Today’s post highlights the design of Missy, personal site of Shirley-Ann Dick. Pervasive uses of denim theme, including colors, textures and stitch dashes for separators creates a unique look, with a slightly impaired readability caused by heavy slanted textures on the red headers and main content font size which is a little too small for comfortable reading. An overall elegant and precise design which employs a multi-column grid and moderate use of white space, with clever listing of recent posts that includes date, categories, thumbnail, title and a short snippet.