|
org.netbeans.swing.tabcontrol 1.8 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface TabCellRenderer
Interface for a component that can render a tab and handle other aspects of its functionality. Implementing this interface is the main aspect of implementing an additional look and feel.
Note: The component returned by getRendererComponent() should be capable of painting itself properly without needing to be added into the AWT hierarchy - it will be painted directly with a call to its paint() method, not by using SwingUtilities.paintComponent(), for performance reasons.
Method Summary | |
---|---|
String |
getCommandAtPoint(Point p,
int tabState,
Rectangle bounds)
Get a command string which is identified with a region of the tab cell renderer, such as TabbedContainer.COMMAND_CLOSE if the point is inside the close button, or TabbedContainer.COMMAND_SELECT if the point is over the tab title. |
String |
getCommandAtPoint(Point p,
int tabState,
Rectangle bounds,
int mouseButton,
int eventType,
int modifiers)
Get a command string which is identified with a region of the tab cell renderer, such as TabbedContainer.COMMAND_CLOSE if the point is inside the close button, or TabbedContainer.COMMAND_SELECT if the point is over the tab title. |
Dimension |
getPadding()
Returns the number of pixels this renderer wants added to the base width and height of the icon and text to fit decorations such as close butons, drag indicators, etc. |
int |
getPixelsToAddToSelection()
Returns the number of pixels to be added to the width of a cell if the cell is the selected index. |
JComponent |
getRendererComponent(TabData data,
Rectangle bounds,
int state)
Configures and returns a component which can appropriately paint the passed tab in its current state |
Color |
getSelectedActivatedBackground()
|
Color |
getSelectedBackground()
|
Polygon |
getTabShape(int tabState,
Rectangle bounds)
Get the shape that represents those pixels actually occupied by the tab on-screen. |
boolean |
isShowCloseButton()
|
void |
setShowCloseButton(boolean val)
|
Method Detail |
---|
JComponent getRendererComponent(TabData data, Rectangle bounds, int state)
String getCommandAtPoint(Point p, int tabState, Rectangle bounds)
p
- A point (presumably) within the bounds of the passed rectangletabState
- The state of the tab, such as selected, clip right, etc.bounds
- The bounds of the tab, defining the coordinate space in which
the point parameter should be evaluated
String getCommandAtPoint(Point p, int tabState, Rectangle bounds, int mouseButton, int eventType, int modifiers)
getCommandAtPoint (Point p, int tabState, Rectangle bounds)
-
that method is primarily used for painting logic (such as whether to
draw a rectangle around a close button); this one is to determine the
actual action, if any to perform. So it is free to return null, some
other action, etc.
p
- A point (presumably) within the bounds of the passed rectangletabState
- The state of the tab, such as selected, clip right, etc.bounds
- The bounds of the tab, defining the coordinate space in which
the point parameter should be evaluatedmouseButton
- The mouse button used to produce the event, as defined in MouseEventeventType
- The event type, as defined in MouseEventmodifiers
- The modifiers mask, as defined in MouseEvent
Polygon getTabShape(int tabState, Rectangle bounds)
A note on painting of tab drag
and drop indication: AbstractTabsUI
contains generic
support for drawing drag and drop target indications. If want to use it
rather than write your own, you need to specify the polygon returned by
this method with the following point order: The last two points in the
point array of the polygon must be the bottom left corner,
followed by the bottom right corner. In other words, start at
the upper left corner when constructing the polygon, and end at the
bottom right corner, using no more than one point for the bottom left and
right corners:
start here --> /---------
|
finish here --> ----------
Dimension getPadding()
TabsUI.createDefaultRenderer()
. The values it returns
cannot be changed dynamically. The result will be passed as padX/padY
arguments to the constructor of DefaultTabLayoutModel (unless
createLayoutModel is overridden with some custom model - then all bets
are off).
int getPixelsToAddToSelection()
Color getSelectedBackground()
Color getSelectedActivatedBackground()
boolean isShowCloseButton()
void setShowCloseButton(boolean val)
|
org.netbeans.swing.tabcontrol 1.8 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |