classpath-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[cp-patches] FYI: MetalBorders.MenuBarBorder implemented


From: David Gilbert
Subject: [cp-patches] FYI: MetalBorders.MenuBarBorder implemented
Date: Tue, 26 Jul 2005 14:20:50 +0000
User-agent: Mozilla Thunderbird 1.0.2 (X11/20050426)

I committed this patch:

2005-07-26  David Gilbert  <address@hidden>

        * javax/swing/plaf/metal/MetalBorders.java:
        (MenuBarBorder): new inner class.

Regards,

Dave Gilbert

Index: javax/swing/plaf/metal/MetalBorders.java
===================================================================
RCS file: 
/cvsroot/classpath/classpath/javax/swing/plaf/metal/MetalBorders.java,v
retrieving revision 1.8
diff -u -r1.8 MetalBorders.java
--- javax/swing/plaf/metal/MetalBorders.java    26 Jul 2005 12:45:46 -0000      
1.8
+++ javax/swing/plaf/metal/MetalBorders.java    26 Jul 2005 13:16:32 -0000
@@ -47,6 +47,7 @@
 import javax.swing.ButtonModel;
 import javax.swing.JButton;
 import javax.swing.JMenu;
+import javax.swing.JMenuBar;
 import javax.swing.JMenuItem;
 import javax.swing.border.AbstractBorder;
 import javax.swing.border.Border;
@@ -243,6 +244,76 @@
           g.drawLine(x, y + h - 1, x + w, y + h - 1);
         }          
       }
+    }
+    
+    /**
+     * Returns the border insets.
+     * 
+     * @param c  the component (ignored).
+     * 
+     * @return The border insets.
+     */
+    public Insets getBorderInsets(Component c)
+    {
+      return borderInsets;
+    }
+    
+    /**
+     * Populates <code>insets</code> with the border insets, then returns it.
+     * 
+     * @param c  the component (ignored).
+     * @param insets  the object to populate with the border insets.
+     * 
+     * @return The border insets.
+     * 
+     * @throws NullPointerException if <code>insets</code> is 
<code>null</code>.
+     */
+    public Insets getBorderInsets(Component c, Insets insets)
+    {
+      insets.left = borderInsets.left;
+      insets.top = borderInsets.top;
+      insets.bottom = borderInsets.bottom;
+      insets.right = borderInsets.right;
+      return insets;
+    }
+  }
+
+  /**
+   * A border used for address@hidden JMenuBar} components.
+   */
+  public static class MenuBarBorder
+      extends AbstractBorder
+      implements UIResource
+  {
+    /** The border insets. */
+    protected static Insets borderInsets = new Insets(1, 0, 1, 0);
+    
+    // TODO: find where this color really comes from
+    private static Color borderColor = new Color(153, 153, 153);
+    
+    /**
+     * Creates a new border instance.
+     */
+    public MenuBarBorder()
+    {
+    }
+    
+    /**
+     * Paints the border for the component.  A border is painted only if the
+     * component is a selected address@hidden JMenu} or an armed 
address@hidden JMenuItem}.
+     * 
+     * @param c  the component.
+     * @param g  the graphics device.
+     * @param x  the x-coordinate of the border area.
+     * @param y  the y-coordinate of the border area.
+     * @param w  the width of the border area.
+     * @param h  the height of the border area.
+     */
+    public void paintBorder(Component c, Graphics g, int x, int y, int w,
+        int h)
+    {
+      g.setColor(borderColor);
+      g.drawLine(x, y + h - 1, x + w, y + h - 1);
     }
     
     /**

reply via email to

[Prev in Thread] Current Thread [Next in Thread]