I added the gradients to JInternalFrame too.
2005-11-16 Roman Kennke <[EMAIL PROTECTED]>
* javax/swing/plaf/basic/BasicInternalFrameTitlePane.java
(paintTitleBackground): Only paint background if component is
opaque.
* javax/swing/plaf/metal/MetalInternalFrameTitlePane.java
(paintPalette): Added gradient painting.
(paintComponent): Added gradient painting.
* javax/swing/plaf/metal/OceanTheme.java
(addCustomEntriesToTable): Added gradient for
InternalFrama.activeTitleGradient.
/Roman
Index: javax/swing/plaf/basic/BasicInternalFrameTitlePane.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/plaf/basic/BasicInternalFrameTitlePane.java,v
retrieving revision 1.18
diff -u -r1.18 BasicInternalFrameTitlePane.java
--- javax/swing/plaf/basic/BasicInternalFrameTitlePane.java 15 Nov 2005 20:32:46 -0000 1.18
+++ javax/swing/plaf/basic/BasicInternalFrameTitlePane.java 16 Nov 2005 16:33:02 -0000
@@ -898,6 +898,9 @@
*/
protected void paintTitleBackground(Graphics g)
{
+ if (!isOpaque())
+ return;
+
Color saved = g.getColor();
Dimension dims = getSize();
Index: javax/swing/plaf/metal/MetalInternalFrameTitlePane.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/plaf/metal/MetalInternalFrameTitlePane.java,v
retrieving revision 1.6
diff -u -r1.6 MetalInternalFrameTitlePane.java
--- javax/swing/plaf/metal/MetalInternalFrameTitlePane.java 15 Nov 2005 20:51:37 -0000 1.6
+++ javax/swing/plaf/metal/MetalInternalFrameTitlePane.java 16 Nov 2005 16:33:02 -0000
@@ -349,8 +349,14 @@
{
Color savedColor = g.getColor();
Rectangle b = SwingUtilities.getLocalBounds(this);
- g.setColor(MetalLookAndFeel.getPrimaryControlShadow());
- g.fillRect(b.x, b.y, b.width, b.height);
+
+ if (UIManager.get("InternalFrame.activeTitleGradient") != null
+ && frame.isSelected())
+ {
+ MetalUtils.paintGradient(g, b.x, b.y, b.width, b.height,
+ SwingConstants.VERTICAL,
+ "InternalFrame.activeTitleGradient");
+ }
MetalUtils.fillMetalPattern(this, g, b.x + 4, b.y + 2, b.width
- paletteCloseIcon.getIconWidth() - 13, b.height - 5,
MetalLookAndFeel.getPrimaryControlHighlight(),
@@ -391,6 +397,14 @@
g.drawLine(0, d.height - 1, d.width - 1, d.height - 1);
// draw the metal pattern
+ if (UIManager.get("InternalFrame.activeTitleGradient") != null
+ && frame.isSelected())
+ {
+ MetalUtils.paintGradient(g, 0, 0, getWidth(), getHeight(),
+ SwingConstants.VERTICAL,
+ "InternalFrame.activeTitleGradient");
+ }
+
Rectangle b = title.getBounds();
int startX = b.x + b.width + 5;
int endX = startX;
Index: javax/swing/plaf/metal/OceanTheme.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/plaf/metal/OceanTheme.java,v
retrieving revision 1.4
diff -u -r1.4 OceanTheme.java
--- javax/swing/plaf/metal/OceanTheme.java 16 Nov 2005 15:43:34 -0000 1.4
+++ javax/swing/plaf/metal/OceanTheme.java 16 Nov 2005 16:33:02 -0000
@@ -234,6 +234,9 @@
defaults.put("ToggleButton.gradient", Arrays.asList(new Object[]
{new Double(0.3), new Double(0.0), new ColorUIResource(221, 232, 243),
new ColorUIResource(Color.WHITE), new ColorUIResource(184, 207, 229)}));
+ defaults.put("InternalFrame.activeTitleGradient", Arrays.asList(new Object[]
+ {new Double(0.3), new Double(0.0), new ColorUIResource(221, 232, 243),
+ new ColorUIResource(Color.WHITE), new ColorUIResource(184, 207, 229)}));
defaults.put("Button.rollover", Boolean.TRUE);
}
_______________________________________________
Classpath-patches mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/classpath-patches