public interface TabCellRenderer
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.
Modifier and Type | Method and Description |
---|---|
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) |
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 evaluatedString 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 MouseEventPolygon 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)