classpath-patches
[Top][All Lists]
Advanced

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

[cp-patches] FYI: fixed layout for PopupMenus


From: Roman Kennke
Subject: [cp-patches] FYI: fixed layout for PopupMenus
Date: Wed, 11 May 2005 17:14:39 +0200
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021204

I have added the class DefaultMenuLayout into javax.swing.plaf.basic and made the BasicPopupMenuUI use this layout for PopupMenus instead of the GridBagLayout that was used before.

2005-05-11  Roman Kennke  <address@hidden>

       * javax/swing/plaf/basic/DefaultMenuLayout.java:
       Added this class.
       * javax/swing/plaf/basic/BasicPopupMenuUI.java
       (installUI): Use the new DefaultMenuLayout instead of GridBagLayout.

/Roman

Index: javax/swing/plaf/basic/BasicPopupMenuUI.java
===================================================================
RCS file: 
/cvsroot/classpath/classpath/javax/swing/plaf/basic/BasicPopupMenuUI.java,v
retrieving revision 1.7
diff -u -r1.7 BasicPopupMenuUI.java
--- javax/swing/plaf/basic/BasicPopupMenuUI.java        26 Apr 2005 18:56:19 
-0000      1.7
+++ javax/swing/plaf/basic/BasicPopupMenuUI.java        11 May 2005 15:10:22 
-0000
@@ -40,11 +40,11 @@
 import java.awt.Component;
 import java.awt.Container;
 import java.awt.Dimension;
-import java.awt.GridBagLayout;
 import java.awt.event.ComponentEvent;
 import java.awt.event.ComponentListener;
 import java.awt.event.MouseEvent;
 
+import javax.swing.BoxLayout;
 import javax.swing.JComponent;
 import javax.swing.JPopupMenu;
 import javax.swing.MenuElement;
@@ -111,7 +111,7 @@
   {
     super.installUI(c);
     popupMenu = (JPopupMenu) c;
-    popupMenu.setLayout(new GridBagLayout());
+    popupMenu.setLayout(new DefaultMenuLayout(popupMenu, BoxLayout.Y_AXIS));
     popupMenu.setBorderPainted(true);
     JPopupMenu.setDefaultLightWeightPopupEnabled(true);
 
Index: javax/swing/plaf/basic/DefaultMenuLayout.java
===================================================================
RCS file: javax/swing/plaf/basic/DefaultMenuLayout.java
diff -N javax/swing/plaf/basic/DefaultMenuLayout.java
--- /dev/null   1 Jan 1970 00:00:00 -0000
+++ javax/swing/plaf/basic/DefaultMenuLayout.java       11 May 2005 15:10:22 
-0000
@@ -0,0 +1,78 @@
+/* DefaultMenuLayout.java
+   Copyright (C) 2005 Free Software Foundation, Inc.
+
+This file is part of GNU Classpath.
+
+GNU Classpath is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
+
+GNU Classpath is distributed in the hope that it will be useful, but
+WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with GNU Classpath; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+02111-1307 USA.
+
+Linking this library statically or dynamically with other modules is
+making a combined work based on this library.  Thus, the terms and
+conditions of the GNU General Public License cover the whole
+combination.
+
+As a special exception, the copyright holders of this library give you
+permission to link this library with independent modules to produce an
+executable, regardless of the license terms of these independent
+modules, and to copy and distribute the resulting executable under
+terms of your choice, provided that you also meet, for each linked
+independent module, the terms and conditions of the license of that
+module.  An independent module is a module which is not derived from
+or based on this library.  If you modify this library, you may extend
+this exception to your version of the library, but you are not
+obligated to do so.  If you do not wish to do so, delete this
+exception statement from your version. */
+
+package javax.swing.plaf.basic;
+
+import java.awt.Container;
+import java.awt.Dimension;
+
+import javax.swing.BoxLayout;
+import javax.swing.plaf.UIResource;
+
+/**
+ * The LayoutManager that is used in PopupMenus. This is a derived from
+ * address@hidden BoxLayout}.
+ *
+ * @author Roman Kennke (address@hidden)
+ */
+public class DefaultMenuLayout
+  extends BoxLayout
+  implements UIResource
+{
+
+  /**
+   * Creates a new instance of DefaultMenuLayout.
+   *
+   * @param target the component that is laid out
+   * @param axis the axis along which the component is laid out
+   */
+  public DefaultMenuLayout(Container target, int axis)
+  {
+    super(target, axis);
+  }
+
+  /**
+   * Returns the preferred size for the layout of the menu.
+   *
+   * @param target the Container which's preferred size we calculate
+   */
+  public Dimension preferredLayoutSize(Container target)
+  {
+    return super.preferredLayoutSize(target);
+  }
+
+}

reply via email to

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