|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.swing.plaf.ComponentUI
javax.swing.plaf.TabbedPaneUI
javax.swing.plaf.basic.BasicTabbedPaneUI
javax.swing.plaf.metal.MetalTabbedPaneUI
com.jgoodies.looks.plastic.PlasticTabbedPaneUI
public final class PlasticTabbedPaneUI
The JGoodies Plastic Look&Feel implementation of
TabbedPaneUI
. It differs from its superclass
MetalTabbedPaneUI
in that it paints new tab shapes,
provides two options, and supports ClearLook.
You can enable or disable icons in tabs globally via com.jgoodies.looks.Options.setTabIconsEnabled(boolean).
To disable the content border set
JTabbedPane tabbedPane = new JTabbedPane(); tabbedPane.putClientProperty(Option.NO_CONTENT_BORDER_KEY, Boolean.TRUE);To paint embedded tabs use
JTabbedPane tabbedPane = new JTabbedPane(); tabbedPane.putClientProperty(Option.EMBEDDED_TABS_KEY, Boolean.TRUE);
There's a special mode that helps you detect content borders in heavily wrapped component hierarchies - such as the NetBeans IDE. In this marked mode the content border is painted as a Magenta line. You can enable this mode by setting the System property markContentBorders to true; in a command line:
java -DmarkContentBorders=true
Options
Nested Class Summary |
---|
Nested classes/interfaces inherited from class javax.swing.plaf.basic.BasicTabbedPaneUI |
---|
BasicTabbedPaneUI.FocusHandler, BasicTabbedPaneUI.MouseHandler, BasicTabbedPaneUI.PropertyChangeHandler |
Field Summary |
---|
Fields inherited from class javax.swing.plaf.metal.MetalTabbedPaneUI |
---|
minTabWidth, selectColor, selectHighlight, tabAreaBackground |
Fields inherited from class javax.swing.plaf.basic.BasicTabbedPaneUI |
---|
calcRect, contentBorderInsets, darkShadow, downKey, focus, focusListener, highlight, leftKey, lightHighlight, maxTabHeight, maxTabWidth, mouseListener, propertyChangeListener, rects, rightKey, runCount, selectedRun, selectedTabPadInsets, shadow, tabAreaInsets, tabChangeListener, tabInsets, tabPane, tabRunOverlay, tabRuns, textIconGap, upKey |
Fields inherited from interface javax.swing.SwingConstants |
---|
BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST |
Constructor Summary | |
---|---|
PlasticTabbedPaneUI()
|
Method Summary | |
---|---|
protected ChangeListener |
createChangeListener()
|
protected LayoutManager |
createLayoutManager()
Creates the layout manager used to set the tab's bounds. |
protected PropertyChangeListener |
createPropertyChangeListener()
Creates and answer a handler that listens to property changes. |
static ComponentUI |
createUI(JComponent tabPane)
Creates the PlasticTabbedPaneUI . |
protected Insets |
getContentBorderInsets(int tabPlacement)
Returns the insets (i.e. the width) of the content Border. |
protected Icon |
getIconForTab(int tabIndex)
Answers the icon for the tab with the specified index. |
protected Insets |
getSelectedTabPadInsets(int tabPlacement)
Returns the insets for selected tab. |
protected Insets |
getTabAreaInsets(int tabPlacement)
Returns the amount by which the Tab Area is inset. |
protected Rectangle |
getTabBounds(int tabIndex,
Rectangle dest)
|
protected Insets |
getTabInsets(int tabPlacement,
int tabIndex)
Returns the insets for this tab. |
protected int |
getTabLabelShiftX(int tabPlacement,
int tabIndex,
boolean isSelected)
Returns the amount by which the label should be shifted horizontally. |
protected int |
getTabLabelShiftY(int tabPlacement,
int tabIndex,
boolean isSelected)
Returns the amount by which the label should be shifted vertically. |
protected int |
getTabRunIndent(int tabPlacement,
int run)
Returns the amount by which the run number run
should be indented. |
protected int |
getTabRunOverlay(int tabPlacement)
Returns the amount (in pixels) by which two runs should overlap. |
protected void |
installComponents()
Creates and installs any required subcomponents for the JTabbedPane. |
protected void |
installKeyboardActions()
|
protected void |
installListeners()
|
void |
installUI(JComponent c)
Installs the UI. |
protected boolean |
isTabInFirstRun(int tabIndex)
|
protected void |
layoutLabel(int tabPlacement,
FontMetrics metrics,
int tabIndex,
String title,
Icon icon,
Rectangle tabRect,
Rectangle iconRect,
Rectangle textRect,
boolean isSelected)
|
void |
paint(Graphics g,
JComponent c)
|
protected void |
paintContentBorder(Graphics g,
int tabPlacement,
int selectedIndex)
|
protected void |
paintFocusIndicator(Graphics g,
int tabPlacement,
Rectangle[] rectangles,
int tabIndex,
Rectangle iconRect,
Rectangle textRect,
boolean isSelected)
Draws the rectancle around the Tab label which indicates keyboard focus. |
protected void |
paintTab(Graphics g,
int tabPlacement,
Rectangle[] rects,
int tabIndex,
Rectangle iconRect,
Rectangle textRect)
|
protected void |
paintTabArea(Graphics g,
int tabPlacement,
int selectedIndex)
|
protected void |
paintTabBackground(Graphics g,
int tabPlacement,
int tabIndex,
int x,
int y,
int w,
int h,
boolean isSelected)
Fills the background of the given tab to make sure overlap of tabs is handled correctly. |
protected void |
paintTabBorder(Graphics g,
int tabPlacement,
int tabIndex,
int x,
int y,
int w,
int h,
boolean isSelected)
Paints the border for one tab. |
protected boolean |
shouldPadTabRun(int tabPlacement,
int run)
This boolean controls wheather the given run should be padded to use up as much space as the others (with more tabs in them). |
protected boolean |
shouldRotateTabRuns(int tabPlacement)
Answers wheather tab runs should be rotated. |
int |
tabForCoordinate(JTabbedPane pane,
int x,
int y)
Returns the tab index which intersects the specified point in the JTabbedPane's coordinate space. |
protected void |
uninstallComponents()
Removes any installed subcomponents from the JTabbedPane. |
protected void |
uninstallListeners()
|
void |
uninstallUI(JComponent c)
Uninstalls the UI. |
Methods inherited from class javax.swing.plaf.metal.MetalTabbedPaneUI |
---|
calculateMaxTabHeight, getColorForGap, installDefaults, paintBottomTabBorder, paintContentBorderBottomEdge, paintContentBorderLeftEdge, paintContentBorderRightEdge, paintContentBorderTopEdge, paintHighlightBelowTab, paintLeftTabBorder, paintRightTabBorder, paintTopTabBorder, shouldFillGap, shouldRotateTabRuns, update |
Methods inherited from class javax.swing.plaf.ComponentUI |
---|
contains, getAccessibleChild, getAccessibleChildrenCount, getPreferredSize |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public PlasticTabbedPaneUI()
Method Detail |
---|
public static ComponentUI createUI(JComponent tabPane)
PlasticTabbedPaneUI
.
ComponentUI.createUI(JComponent)
public void installUI(JComponent c)
installUI
in class BasicTabbedPaneUI
ComponentUI.installUI(JComponent)
public void uninstallUI(JComponent c)
uninstallUI
in class BasicTabbedPaneUI
ComponentUI.uninstallUI(JComponent)
protected void installComponents()
installComponents
in class BasicTabbedPaneUI
BasicTabbedPaneUI.installComponents()
protected void uninstallComponents()
uninstallComponents
in class BasicTabbedPaneUI
BasicTabbedPaneUI.uninstallComponents()
protected void installListeners()
installListeners
in class BasicTabbedPaneUI
protected void uninstallListeners()
uninstallListeners
in class BasicTabbedPaneUI
protected void installKeyboardActions()
installKeyboardActions
in class BasicTabbedPaneUI
protected PropertyChangeListener createPropertyChangeListener()
createPropertyChangeListener
in class BasicTabbedPaneUI
protected ChangeListener createChangeListener()
createChangeListener
in class BasicTabbedPaneUI
public void paint(Graphics g, JComponent c)
paint
in class MetalTabbedPaneUI
protected void paintTab(Graphics g, int tabPlacement, Rectangle[] rects, int tabIndex, Rectangle iconRect, Rectangle textRect)
paintTab
in class BasicTabbedPaneUI
public int tabForCoordinate(JTabbedPane pane, int x, int y)
tabForCoordinate
in class BasicTabbedPaneUI
protected Rectangle getTabBounds(int tabIndex, Rectangle dest)
getTabBounds
in class BasicTabbedPaneUI
protected void paintTabArea(Graphics g, int tabPlacement, int selectedIndex)
paintTabArea
in class BasicTabbedPaneUI
protected void layoutLabel(int tabPlacement, FontMetrics metrics, int tabIndex, String title, Icon icon, Rectangle tabRect, Rectangle iconRect, Rectangle textRect, boolean isSelected)
layoutLabel
in class BasicTabbedPaneUI
protected Icon getIconForTab(int tabIndex)
null
if and only if we have a title.
getIconForTab
in class BasicTabbedPaneUI
protected LayoutManager createLayoutManager()
createLayoutManager
in class MetalTabbedPaneUI
protected boolean isTabInFirstRun(int tabIndex)
protected void paintContentBorder(Graphics g, int tabPlacement, int selectedIndex)
paintContentBorder
in class BasicTabbedPaneUI
protected Insets getContentBorderInsets(int tabPlacement)
getContentBorderInsets
in class BasicTabbedPaneUI
protected Insets getTabAreaInsets(int tabPlacement)
getTabAreaInsets
in class BasicTabbedPaneUI
protected int getTabLabelShiftX(int tabPlacement, int tabIndex, boolean isSelected)
getTabLabelShiftX
in class MetalTabbedPaneUI
protected int getTabLabelShiftY(int tabPlacement, int tabIndex, boolean isSelected)
getTabLabelShiftY
in class MetalTabbedPaneUI
protected int getTabRunOverlay(int tabPlacement)
getTabRunOverlay
in class MetalTabbedPaneUI
protected boolean shouldPadTabRun(int tabPlacement, int run)
shouldPadTabRun
in class MetalTabbedPaneUI
protected int getTabRunIndent(int tabPlacement, int run)
run
should be indented. Add six pixels for every run to make
diagonal lines align.
getTabRunIndent
in class BasicTabbedPaneUI
protected Insets getTabInsets(int tabPlacement, int tabIndex)
getTabInsets
in class BasicTabbedPaneUI
protected Insets getSelectedTabPadInsets(int tabPlacement)
getSelectedTabPadInsets
in class BasicTabbedPaneUI
protected void paintFocusIndicator(Graphics g, int tabPlacement, Rectangle[] rectangles, int tabIndex, Rectangle iconRect, Rectangle textRect, boolean isSelected)
paintFocusIndicator
in class MetalTabbedPaneUI
protected void paintTabBackground(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected)
paintTabBackground
in class MetalTabbedPaneUI
protected void paintTabBorder(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected)
paintTabBorder
in class MetalTabbedPaneUI
protected boolean shouldRotateTabRuns(int tabPlacement)
shouldRotateTabRuns
in class BasicTabbedPaneUI
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |