New UI of Component Palette
Design Specification
Author: Dusan Pavlica
Version: 3.0
Last Update: 12/22/2003
Contents:
- Introduction
- Design specification
- Current state
- New design
- Other enhancements
- Open issues
1. Introduction
The new Window System is implemented now in the Netbeans and it's necessary to
adjust all component to its appearance.
This document isn't full specification of Component Palette behavior because it isn't
changed.
It defines mainly design of "category switchers" and some enhancements.
2. Design specification
Current state:
Components inside Component Palette are divided into 6 categories by default (Swing,
Swing (Other), AWT, Beans, Layouts, Borders) and each of that category is presented
visually like a TAB in TABPane .
User could switch among these categories by clicking on TABs. There is a usability problem
with more then 1 TAB's row because of their exchange during user's switching. Another
problem we see in visual representation of TABs inside new Windowing System and we would
like to distinguish Window's TABs and components situated inside them. And that's why we
suggested new design described below.
 |
figure 1 - Current design of Component Palette |
New design with following changes:
- TABs are changed for toggle buttons situated into Palette's ToolBar and Components are
displayed below this ToolBar.
- When user changes width of Component Palette, then categories should adapt on that new
size:
A. When buttons have enough space on one row, they should be aligned to the left
and each has exact width, which depends on length of category name.
B. When buttons haven't enough space on one row, then more rows of toggle buttons
should be displayed with following logic:
- Their width should be the same. Minimal width is taken from toggle button with longest
label visible inside and maximal width is the same like the width of internal size of
Palette.
- Show the same number of categories on each row if it's possible (with standard number of
categories (5) it isn't possible except situation with 5 simple rows).
- Let's keep similar number of toggle buttons in each row if isn't possible to have the
same number.
- When any empty space appears on some row, then width of this space has the same width
like an other toggle buttons.
- Components are toggle buttons too and they should adapt on width of Component Palette
with the same logic mentioned above.

figure 2 - Component Palette in Windows Classic L&F. Two rows of Categories and
two columns of Components are visible.
|

figure 3 - Component Palette in Windows XP L&F. Three rows of Categories and one
column of Components are visible.
|
Other Enhancements:
Current implementation of the list of Components has some visible errors which could be
fixed:
- The List of Components could be displayed like icons or like icons with their names.
User could switch between these two states by Show names contextual menu item. This
menu item exists in contextual menu invoked over components, but user should be able to
invoke it over all internal area below Palette's ToolBar. And I suggest to rename it for Show
Names of Components menu item too, because it isn't clear enough what does it
mean Names in this context (Category Name or Component Name).
- Rollover and Pressed states of component toggle buttons should be displayed over all
width of column, not only with minimal width of appropriate toggle button.
- Columns with list of Components should have the same width, not different like it's
currently implemented.
- What's about to remove Borders category ? Then we will have four default categories in
the Component Palette and they will look aligned.
- Design of Metal L&F is not nice...Some improvement is necessary maybe.
-