source: josm/trunk/src/org/openstreetmap/josm/gui/SideButton.java@ 1480

Last change on this file since 1480 was 1247, checked in by ulfl, 15 years ago

use small icons also in the LayerListDialog

File size: 2.2 KB
Line 
1package org.openstreetmap.josm.gui;
2
3import static org.openstreetmap.josm.tools.I18n.tr;
4import java.awt.event.ActionListener;
5import java.awt.Insets;
6import java.awt.Image;
7import javax.swing.Action;
8import javax.swing.JButton;
9import javax.swing.ImageIcon;
10
11import org.openstreetmap.josm.Main;
12import org.openstreetmap.josm.tools.ImageProvider;
13import org.openstreetmap.josm.tools.Shortcut;
14
15public class SideButton extends JButton {
16 public SideButton(Action action)
17 {
18 super(action);
19 doStyle();
20 setText(null);
21 }
22
23 public SideButton(Action action, String imagename)
24 {
25 this(action);
26 setIcon(makeIcon(imagename));
27 }
28
29 public static ImageIcon makeIcon(String imagename) {
30 Image im = ImageProvider.get("dialogs", imagename).getImage();
31 return new ImageIcon(im.getScaledInstance(20 , 20, Image.SCALE_SMOOTH));
32 }
33
34 public SideButton(String imagename, String property, String tooltip, ActionListener actionListener)
35 {
36 super(makeIcon(imagename));
37 doStyle();
38 setActionCommand(imagename);
39 addActionListener(actionListener);
40 setToolTipText(tooltip);
41 }
42 public SideButton(String name, String imagename, String property, String tooltip, Shortcut shortcut, ActionListener actionListener)
43 {
44 super(tr(name), makeIcon(imagename));
45 if(shortcut != null)
46 {
47 shortcut.setMnemonic(this);
48 if(tooltip != null)
49 tooltip = Main.platform.makeTooltip(tooltip, shortcut);
50 }
51 setup(name, property, tooltip, actionListener);
52 }
53 public SideButton(String name, String imagename, String property, String tooltip, ActionListener actionListener)
54 {
55 super(tr(name), makeIcon(imagename));
56 setup(name, property, tooltip, actionListener);
57 }
58 private void setup(String name, String property, String tooltip, ActionListener actionListener)
59 {
60 doStyle();
61 setActionCommand(name);
62 addActionListener(actionListener);
63 setToolTipText(tooltip);
64 putClientProperty("help", "Dialog/"+property+"/"+name);
65 }
66 private void doStyle()
67 {
68 setMargin(new Insets(1,1,1,1));
69 setIconTextGap(2);
70 }
71}
Note: See TracBrowser for help on using the repository browser.