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

Reply via email to