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

Last change on this file since 1814 was 1790, checked in by Gubaer, 15 years ago

Relation Editor: complete rework
Relation Editor: had to temporarily remove code for "link information" and "sorting"
IO Subsystem: clean up in exception handling
some cosmetics

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 }
21
22 public SideButton(Action action, String imagename)
23 {
24 this(action);
25 setIcon(makeIcon(imagename));
26 }
27
28 public static ImageIcon makeIcon(String imagename) {
29 Image im = ImageProvider.get("dialogs", imagename).getImage();
30 return new ImageIcon(im.getScaledInstance(20 , 20, Image.SCALE_SMOOTH));
31 }
32
33 public SideButton(String imagename, String property, String tooltip, ActionListener actionListener)
34 {
35 super(makeIcon(imagename));
36 doStyle();
37 setActionCommand(imagename);
38 addActionListener(actionListener);
39 setToolTipText(tooltip);
40 }
41 public SideButton(String name, String imagename, String property, String tooltip, Shortcut shortcut, ActionListener actionListener)
42 {
43 super(tr(name), makeIcon(imagename));
44 if(shortcut != null)
45 {
46 shortcut.setMnemonic(this);
47 if(tooltip != null) {
48 tooltip = Main.platform.makeTooltip(tooltip, shortcut);
49 }
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.