I added support for the tabsOpaque UIManager property to the BasicTabbedPane. This property causes the tab background (note: not the whole JTabbedPane!) to be painted or not, depending on the value.
2006-03-20 Roman Kennke <[EMAIL PROTECTED]> * javax/swing/plaf/basic/BasicTabbedPaneUI.java (tabsOpaque): New field. (installDefaults): Fetch tabsOpaque property from UIManager. (paintTab): Fill tab background when tabsOpaque property is true. * javax/swing/plaf/basic/BasicLookAndFeel.java (initComponentDefaults): Added TabbedPane.tabsOpaque property. /Roman -- “Improvement makes straight roads, but the crooked roads, without Improvement, are roads of Genius.” - William Blake
Index: javax/swing/plaf/basic/BasicTabbedPaneUI.java =================================================================== RCS file: /cvsroot/classpath/classpath/javax/swing/plaf/basic/BasicTabbedPaneUI.java,v retrieving revision 1.38 diff -u -r1.38 BasicTabbedPaneUI.java --- javax/swing/plaf/basic/BasicTabbedPaneUI.java 20 Mar 2006 19:29:17 -0000 1.38 +++ javax/swing/plaf/basic/BasicTabbedPaneUI.java 20 Mar 2006 21:51:09 -0000 @@ -1403,6 +1403,12 @@ private int rolloverTab; /** + * Determines if tabs are painted opaque or not. This can be adjusted using + * the UIManager property 'TabbedPane.tabsOpaque'. + */ + private boolean tabsOpaque; + + /** * Creates a new BasicTabbedPaneUI object. */ public BasicTabbedPaneUI() @@ -1617,6 +1623,7 @@ selectedTabPadInsets = UIManager.getInsets("TabbedPane.tabbedPaneTabPadInsets"); tabAreaInsets = UIManager.getInsets("TabbedPane.tabAreaInsets"); contentBorderInsets = UIManager.getInsets("TabbedPane.tabbedPaneContentBorderInsets"); + tabsOpaque = UIManager.getBoolean("TabbedPane.tabsOpaque"); calcRect = new Rectangle(); tabRuns = new int[10]; @@ -1838,7 +1845,7 @@ Rectangle rect = rects[tabIndex]; boolean isSelected = tabIndex == tabPane.getSelectedIndex(); // Paint background if necessary. - if (tabPane.isOpaque()) + if (tabsOpaque || tabPane.isOpaque()) { paintTabBackground(g, tabPlacement, tabIndex, rect.x, rect.y, rect.width, rect.height, isSelected); Index: javax/swing/plaf/basic/BasicLookAndFeel.java =================================================================== RCS file: /cvsroot/classpath/classpath/javax/swing/plaf/basic/BasicLookAndFeel.java,v retrieving revision 1.87 diff -u -r1.87 BasicLookAndFeel.java --- javax/swing/plaf/basic/BasicLookAndFeel.java 18 Mar 2006 13:42:03 -0000 1.87 +++ javax/swing/plaf/basic/BasicLookAndFeel.java 20 Mar 2006 21:51:10 -0000 @@ -1114,6 +1114,7 @@ "TabbedPane.shadow", new ColorUIResource(shadow), "TabbedPane.tabbedPaneContentBorderInsets", new InsetsUIResource(3, 2, 1, 2), "TabbedPane.tabbedPaneTabPadInsets", new InsetsUIResource(1, 1, 1, 1), + "TabbedPane.tabsOpaque", Boolean.TRUE, "TabbedPane.tabAreaInsets", new InsetsUIResource(3, 2, 0, 2), "TabbedPane.tabInsets", new InsetsUIResource(0, 4, 1, 4), "TabbedPane.tabRunOverlay", new Integer(2),
signature.asc
Description: Dies ist ein digital signierter Nachrichtenteil