Right-to-left support for the ribbon in Flamingo 5.0
April 3rd, 2010 | 3 Comments »The latest 5.0dev drop of the Flamingo library (code-named Imogene) provides full right-to-left (RTL) support for the ribbon component and all its parts. Here are some screenshots of the ribbon running under iw-IL locale using the Office Blue 2007 skin from Substance core and Substance Flamingo plugin.
The first screenshot shows the full RTL ribbon in action – click to see fullsize view:
![]()
You can associate rich tooltips with buttons in ribbon bands. The tooltips are shown below the main ribbon area, right aligned with the original button:

Command buttons placed in the ribbon can have associated simple popup menu:

The popup menu can also host a command button panel, with each button having its own rich tooltip:

The screenshots above show an embedded ribbon gallery (in the middle ribbon band). A ribbon gallery can be expanded to show all the available gallery choices:

The ribbon usually hosts command controls – such as command buttons or ribbon galleries, which themselves contain command buttons. However, you can also put any core Swing component into the ribbon:

Note that you can associate an optional icon and an optional caption text with the wrapped core component.
The application menu button is shown in the top-right corner. Internally it is a command button as well, and you can associate a rich tooltip with it:

Clicking on the application menu button shows a three-panel application menu:

You can associate a custom secondary menu group with the specific primary menu entry:

The secondary menu group can have multiple menu sections:

You can have more than two levels in the application menu by associating a custom popup callback with the relevant secondary menu entries:

Contextual task groups can be shown and hidden based on the current selection in the application. The contextual task group headers are shown in the application title bar:

You can place frequently use controls in the ribbon taskbar. Command buttons in the taskbar can have rich tooltips. These tooltips are shown directly below the button and are right-aligned:

Command buttons in the ribbon taskbar can have associated popup menus:

You can also associate a rich tooltip with the ribbon band expand button:

This is the next major step towards full RTL support in all Flamingo components. The breadcrumb bar remains the only Flamingo component without the RTL support. It will be added after the planned internal refactoring of the breadcrumb bar to use command buttons.
To test the new functionality in your applications, you will need the following:
- The latest 5.0dev drop of Flamingo code-named Imogene
- The latest 6.0RC drop of Substance code-named Sonoma
- The latest 6.0RC drop of Substance Flamingo plugin
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.
Related posts:
- Flamingo ribbon component: support for core Swing components The latest addition in the Flamingo component suite is support for core Swing components. This...
- Right-to-left support for rich tooltips in Flamingo 5.0 The command button component is a central building block for the Flamingo component suite. It...
- Flamingo ribbon component: rich tooltips on command buttons The latest addition in the Flamingo component suite is support for rich tooltips on command...
- Flamingo ribbon component: small buttons in ribbon galleries As mentioned in the JavaOne presentation on the Flamingo ribbon component, there are a few...
[...] Grouchnikov, unsurprisingly, has been busy this week improving his Flamingo project to support Right-To-Left text. In another post, he discusses changes to the Flamingo API for the JRibbon application menu [...]
Hi, plz , can you tell me how to apply RTL direction on JRibbonFrame
BRgds
Nassar,
To set the locale (if your current system locale is not RTL already), you can use Locale.setDefault or -Duser.language and -Duser.country VM flags. Once the ribbon is constructed, call applyComponentOrientation on it so that it knows to layout and paint in RTL mode.
If you switch from LTR to RTL locale at runtime, just call applyComponentOrientation after updating the strings of the ribbon parts.
Thanks
Kirill