01: /*
02: * SSHTools - Java SSH2 API
03: *
04: * Copyright (C) 2002-2003 Lee David Painter and Contributors.
05: *
06: * Contributions made by:
07: *
08: * Brett Smith
09: * Richard Pernavas
10: * Erwin Bolwidt
11: *
12: * This program is free software; you can redistribute it and/or
13: * modify it under the terms of the GNU General Public License
14: * as published by the Free Software Foundation; either version 2
15: * of the License, or (at your option) any later version.
16: *
17: * This program is distributed in the hope that it will be useful,
18: * but WITHOUT ANY WARRANTY; without even the implied warranty of
19: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20: * GNU General Public License for more details.
21: *
22: * You should have received a copy of the GNU General Public License
23: * along with this program; if not, write to the Free Software
24: * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
25: */
26: package com.sshtools.common.ui;
27:
28: import java.awt.*;
29:
30: import javax.swing.*;
31:
32: /**
33: *
34: *
35: * @author $author$
36: * @version $Revision: 1.15 $
37: */
38: public class ToolButton extends JButton {
39: //
40: private final static Insets INSETS = new Insets(0, 0, 0, 0);
41: private boolean hideText;
42:
43: /**
44: * Creates a new ToolButton object.
45: *
46: * @param action
47: */
48: public ToolButton(Action action) {
49: super (action);
50: setMargin(INSETS);
51: setRequestFocusEnabled(false);
52: setFocusPainted(false);
53:
54: if (action.getValue(StandardAction.HIDE_TOOLBAR_TEXT) != null) {
55: setHideText(Boolean.TRUE.equals((Boolean) action
56: .getValue(StandardAction.HIDE_TOOLBAR_TEXT)));
57: } else {
58: setHideText(true);
59: }
60: }
61:
62: /**
63: *
64: *
65: * @return
66: */
67: public boolean isFocusable() {
68: return false;
69: }
70:
71: /**
72: *
73: *
74: * @param hideText
75: */
76: public void setHideText(boolean hideText) {
77: if (this .hideText != hideText) {
78: firePropertyChange("hideText", this .hideText, hideText);
79: }
80:
81: this .hideText = hideText;
82: this .setHorizontalTextPosition(ToolButton.RIGHT);
83: repaint();
84: }
85:
86: /**
87: *
88: *
89: * @return
90: */
91: public String getText() {
92: return hideText ? null : super.getText();
93: }
94: }
|