classpath-patches
[Top][All Lists]
Advanced

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

[cp-patches] FYI: MetalComboBoxEditor border


From: David Gilbert
Subject: [cp-patches] FYI: MetalComboBoxEditor border
Date: Fri, 16 Sep 2005 15:06:32 +0000
User-agent: Mozilla Thunderbird 1.0.6 (X11/20050728)

This patch (committed) improves the look of the border on the text field of an editable JComboBox under the MetalLookAndFeel:

2005-09-16  David Gilbert  <address@hidden>

        * javax/swing/plaf/metal/MetalComboBoxEditor.java
        (MetalComboBoxEditorBorder.paintBorder): modified border appearance.

You can't see this yet, because I'm still working on MetalComboBoxUI (I have it working quite well on top of Sun's BasicLookAndFeel, but it is still broken on top of Classpath's BasicLookAndFeel). I'm considering checking in my current version of MetalComboBoxUI and temporarily disabling it by changing the class name in MetalLookAndFeel.initClassDefaults(), so that perhaps someone else can get further than I can at cleaning up BasicComboBoxUI.

Regards,

Dave
Index: javax/swing/plaf/metal/MetalComboBoxEditor.java
===================================================================
RCS file: 
/cvsroot/classpath/classpath/javax/swing/plaf/metal/MetalComboBoxEditor.java,v
retrieving revision 1.1
diff -u -r1.1 MetalComboBoxEditor.java
--- javax/swing/plaf/metal/MetalComboBoxEditor.java     13 Sep 2005 21:36:03 
-0000      1.1
+++ javax/swing/plaf/metal/MetalComboBoxEditor.java     16 Sep 2005 13:51:22 
-0000
@@ -79,16 +79,19 @@
     public void paintBorder(Component c, Graphics g, int x, int y, int w, 
         int h)
     {   
+      Color savedColor = g.getColor();
       if (c.isEnabled())
-        // TODO: draw the enabled border here
-        super.paintBorder(c, g, x, y, w, h);
+        g.setColor(MetalLookAndFeel.getControlDarkShadow());  
       else
-        {
-          Color savedColor = g.getColor();
-          g.setColor(MetalLookAndFeel.getControlShadow());
-          g.drawRect(x, y, w - 1, h - 1);
-          g.setColor(savedColor);
-        }
+        g.setColor(MetalLookAndFeel.getControlShadow());
+      g.drawLine(x, y, x + w - 1, y);
+      g.drawLine(x, y, x, y + h - 2);
+      g.drawLine(x + 2, y + h - 2, x + w - 1, y + h - 2);
+      g.setColor(MetalLookAndFeel.getControl());
+      g.drawLine(x + 1, y + h - 2, x + 1, y + h - 2);
+      g.setColor(MetalLookAndFeel.getWhite());
+      g.drawLine(x, y + h - 1, x + w - 1, y + h - 1);
+      g.setColor(savedColor);
     }
 
     /**

reply via email to

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