Changeset 15781 in josm


Ignore:
Timestamp:
2020-01-26T21:06:28+01:00 (4 years ago)
Author:
simon04
Message:

fix #15334 - Use BasicArrowButton in MapFrame

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/MapFrame.java

    r15633 r15781  
    88import java.awt.Container;
    99import java.awt.Dimension;
    10 import java.awt.Font;
    1110import java.awt.GridBagLayout;
    1211import java.awt.Rectangle;
     
    2726import javax.swing.BoxLayout;
    2827import javax.swing.ButtonGroup;
    29 import javax.swing.ImageIcon;
    3028import javax.swing.InputMap;
    3129import javax.swing.JButton;
     
    3836import javax.swing.JToolBar;
    3937import javax.swing.KeyStroke;
     38import javax.swing.SwingConstants;
    4039import javax.swing.border.Border;
    4140import javax.swing.event.PopupMenuEvent;
    4241import javax.swing.event.PopupMenuListener;
     42import javax.swing.plaf.basic.BasicArrowButton;
    4343import javax.swing.plaf.basic.BasicSplitPaneDivider;
    4444import javax.swing.plaf.basic.BasicSplitPaneUI;
     
    139139    private final ListAllButtonsAction listAllDialogsAction = new ListAllButtonsAction(allDialogButtons);
    140140    private final ListAllButtonsAction listAllMapModesAction = new ListAllButtonsAction(allMapModeButtons);
    141     private final JButton listAllToggleDialogsButton = new JButton(listAllDialogsAction);
    142     private final JButton listAllMapModesButton = new JButton(listAllMapModesAction);
    143 
    144     {
    145         listAllDialogsAction.setButton(listAllToggleDialogsButton);
    146         listAllMapModesAction.setButton(listAllMapModesButton);
    147     }
    148141
    149142    // Toggle dialogs
     
    521514            toolBarActions.setInheritsPopupMenu(true);
    522515            sideToolBar.add(toolBarActions);
    523             listAllMapModesButton.setAlignmentX(0.5f);
    524             listAllMapModesButton.setBorder(null);
    525             listAllMapModesButton.setFont(listAllMapModesButton.getFont().deriveFont(Font.PLAIN));
    526             listAllMapModesButton.setInheritsPopupMenu(true);
    527             sideToolBar.add(listAllMapModesButton);
     516            sideToolBar.add(listAllMapModesAction.createButton());
    528517        }
    529518
     
    537526            toolBarToggle.setInheritsPopupMenu(true);
    538527            sideToolBar.add(toolBarToggle);
    539             listAllToggleDialogsButton.setAlignmentX(0.5f);
    540             listAllToggleDialogsButton.setBorder(null);
    541             listAllToggleDialogsButton.setFont(listAllToggleDialogsButton.getFont().deriveFont(Font.PLAIN));
    542             listAllToggleDialogsButton.setInheritsPopupMenu(true);
    543             sideToolBar.add(listAllToggleDialogsButton);
     528            sideToolBar.add(listAllDialogsAction.createButton());
    544529        }
    545530
     
    661646        }
    662647
    663         public void setButton(JButton button) {
    664             this.button = button;
    665             final ImageIcon icon = ImageProvider.get("audio-fwd");
    666             putValue(SMALL_ICON, icon);
    667             button.setPreferredSize(new Dimension(icon.getIconWidth(), icon.getIconHeight() + 64));
     648        JButton createButton() {
     649            button = new BasicArrowButton(SwingConstants.EAST) {
     650
     651                @Override
     652                public Dimension getMaximumSize() {
     653                    final Dimension dimension = ImageProvider.ImageSizes.TOOLBAR.getImageDimension();
     654                    dimension.width = Integer.MAX_VALUE;
     655                    return dimension;
     656                }
     657            };
     658            button.setAction(this);
     659            button.setAlignmentX(0.5f);
     660            button.setInheritsPopupMenu(true);
     661            return button;
    668662        }
    669663
Note: See TracChangeset for help on using the changeset viewer.