OSDN Git Service

update ui trunk
authortama3 <tama3@acee48c3-7b26-0410-bdac-b3d0e5314bbc>
Thu, 25 Jun 2009 08:58:17 +0000 (08:58 +0000)
committertama3 <tama3@acee48c3-7b26-0410-bdac-b3d0e5314bbc>
Thu, 25 Jun 2009 08:58:17 +0000 (08:58 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/stigmata/trunk@382 acee48c3-7b26-0410-bdac-b3d0e5314bbc

src/main/java/jp/sourceforge/stigmata/ui/swing/ControlPane.java
src/main/java/jp/sourceforge/stigmata/ui/swing/PopupButton.java

index 72a1e15..1be1d3f 100644 (file)
@@ -5,6 +5,8 @@ package jp.sourceforge.stigmata.ui.swing;
  */
 
 import java.awt.BorderLayout;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 import java.io.File;
@@ -348,16 +350,18 @@ public class ControlPane extends JPanel{
         comparePopup = new PopupButton(compareButton);
         unitBox = new JComboBox();
 
-        Box south = Box.createHorizontalBox();
-        south.add(Box.createHorizontalGlue());
-        south.add(resetButton);
-        south.add(Box.createHorizontalGlue());
-        south.add(extractButton);
-        south.add(Box.createHorizontalGlue());
-        south.add(comparePopup);
-        south.add(Box.createHorizontalGlue());
-        south.add(unitBox);
-        south.add(Box.createHorizontalGlue());
+        JPanel south = new JPanel(new GridBagLayout());
+        GridBagConstraints gbc = new GridBagConstraints();
+        gbc.fill = GridBagConstraints.NONE;
+        gbc.weightx = 1d;
+        gbc.weighty = 0d;
+        gbc.gridx = 0;
+        gbc.gridy = 0;
+        gbc.anchor = GridBagConstraints.CENTER;
+        south.add(resetButton, gbc);   gbc.gridx++;
+        south.add(extractButton, gbc); gbc.gridx++;
+        south.add(comparePopup, gbc);  gbc.gridx++;
+        south.add(unitBox, gbc);
 
         setLayout(new BorderLayout());
         add(south, BorderLayout.SOUTH);
index 4762e67..2505c3f 100644 (file)
@@ -4,13 +4,13 @@ package jp.sourceforge.stigmata.ui.swing;
  * $Id$
  */
 
-import java.awt.BorderLayout;
-import java.awt.Dimension;
+import java.awt.GridBagConstraints;
+import java.awt.GridBagLayout;
+import java.awt.Insets;
 import java.awt.Point;
 import java.awt.event.ActionEvent;
 import java.awt.event.ActionListener;
 
-import javax.swing.Icon;
 import javax.swing.JButton;
 import javax.swing.JMenuItem;
 import javax.swing.JPanel;
@@ -29,17 +29,11 @@ public class PopupButton extends JPanel{
     private JButton button;
     private JPopupMenu popup;
     private JButton arrowButton;
-    private Icon icon;
 
     public PopupButton(JButton initButton){
-        setLayout(new BorderLayout());
-
         button = initButton;
-        icon = new MetalComboBoxIcon();
-        arrowButton = new JButton(icon);
+        arrowButton = new JButton(new MetalComboBoxIcon());
         popup = new JPopupMenu();
-        add(button, BorderLayout.CENTER);
-        add(arrowButton, BorderLayout.EAST);
 
         arrowButton.addActionListener(new ActionListener(){
             public void actionPerformed(ActionEvent e){
@@ -47,6 +41,21 @@ public class PopupButton extends JPanel{
                 popup.show(PopupButton.this, p.x, button.getHeight());
             }
         });
+        Insets insets = arrowButton.getMargin();
+        arrowButton.setMargin(new Insets(insets.top, 1, insets.bottom, 1));
+
+        setLayout(new GridBagLayout());
+        GridBagConstraints gbc = new GridBagConstraints();
+        gbc.weightx = 0d; gbc.weighty = 0d;
+        gbc.gridx = 0;    gbc.gridy = 0;
+        gbc.fill = GridBagConstraints.BOTH;
+
+        add(button, gbc);
+
+        gbc.weightx = 0d;
+        gbc.gridx = 1;
+        add(arrowButton, gbc);
+
         updateUI();
     }
 
@@ -64,25 +73,4 @@ public class PopupButton extends JPanel{
     public JMenuItem addMenuItem(JMenuItem menuItem){
         return popup.add(menuItem);
     }
-
-    public void updateUI(){
-        super.updateUI();
-        if(button != null){
-            Dimension prefferedSize = button.getPreferredSize();
-
-            arrowButton.setPreferredSize(new Dimension(icon.getIconWidth() + 4, prefferedSize.height));
-            setPreferredSize(new Dimension(prefferedSize.width + icon.getIconWidth() + 4, prefferedSize.height));
-
-            Dimension maxSize = button.getMaximumSize();
-            arrowButton.setMaximumSize(new Dimension(icon.getIconWidth() + 4, maxSize.height));
-            setMaximumSize(new Dimension(maxSize.width + icon.getIconWidth() + 4, maxSize.height));
-
-            Dimension minSize = button.getMinimumSize();
-            arrowButton.setMaximumSize(new Dimension(icon.getIconWidth() + 4, minSize.height));
-            setMinimumSize(new Dimension(minSize.width + icon.getIconWidth() + 4, minSize.height));
-
-            arrowButton.setSize(arrowButton.getPreferredSize());
-            setSize(getPreferredSize());
-        }
-    }
 }