OpenCores
URL https://opencores.org/ocsvn/scarts/scarts/trunk

Subversion Repositories scarts

[/] [scarts/] [trunk/] [toolchain/] [scarts-gcc/] [gcc-4.1.1/] [libjava/] [classpath/] [javax/] [swing/] [JButton.java] - Blame information for rev 14

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 14 jlechner
/* JButton.java --
2
   Copyright (C) 2002, 2004, 2005 Free Software Foundation, Inc.
3
 
4
This file is part of GNU Classpath.
5
 
6
GNU Classpath is free software; you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation; either version 2, or (at your option)
9
any later version.
10
 
11
GNU Classpath is distributed in the hope that it will be useful, but
12
WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14
General Public License for more details.
15
 
16
You should have received a copy of the GNU General Public License
17
along with GNU Classpath; see the file COPYING.  If not, write to the
18
Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
19
02110-1301 USA.
20
 
21
Linking this library statically or dynamically with other modules is
22
making a combined work based on this library.  Thus, the terms and
23
conditions of the GNU General Public License cover the whole
24
combination.
25
 
26
As a special exception, the copyright holders of this library give you
27
permission to link this library with independent modules to produce an
28
executable, regardless of the license terms of these independent
29
modules, and to copy and distribute the resulting executable under
30
terms of your choice, provided that you also meet, for each linked
31
independent module, the terms and conditions of the license of that
32
module.  An independent module is a module which is not derived from
33
or based on this library.  If you modify this library, you may extend
34
this exception to your version of the library, but you are not
35
obligated to do so.  If you do not wish to do so, delete this
36
exception statement from your version. */
37
 
38
package javax.swing;
39
 
40
import javax.accessibility.Accessible;
41
import javax.accessibility.AccessibleContext;
42
import javax.accessibility.AccessibleRole;
43
import javax.swing.plaf.ButtonUI;
44
 
45
 
46
/**
47
 * A general purpose push button. <code>JButton</code>s can display a label,
48
 * an {@link Icon} or both.
49
 *
50
 * @author Ronald Veldema (rveldema@cs.vu.nl)
51
 */
52
public class JButton extends AbstractButton
53
  implements Accessible
54
{
55
 
56
  /**
57
   * Accessibility support for JButtons.
58
   */
59
  protected class AccessibleJButton
60
    extends AbstractButton.AccessibleAbstractButton
61
  {
62
    /**
63
     * Returns the accessible role that this component represents.
64
     * This is {@link AccessibleRole#PUSH_BUTTON} for <code>JButton</code>s.
65
     *
66
     * @return the accessible role that this component represents
67
     */
68
    public AccessibleRole getAccessibleRole()
69
    {
70
      return AccessibleRole.PUSH_BUTTON;
71
    }
72
  }
73
 
74
  private static final long serialVersionUID = -1907255238954382202L;
75
  boolean def;
76
  boolean is_def;
77
 
78
  public JButton()
79
  {
80
    this(null, null);
81
  }
82
 
83
  public JButton(Action a)
84
  {
85
    this();
86
    setAction(a);
87
  }
88
 
89
  public JButton(Icon icon)
90
  {
91
    this(null, icon);
92
  }
93
 
94
  public JButton(String text)
95
  {
96
    this(text, null);
97
  }
98
 
99
  public JButton(String text, Icon icon)
100
  {
101
    super();
102
    init(text, icon);
103
    setModel(new DefaultButtonModel());
104
  }
105
 
106
  public Object[] getSelectedObjects()
107
  {
108
    return null;
109
  }
110
 
111
  protected void configurePropertiesFromAction(Action a)
112
  {
113
    // Factory method which sets the AbstractButton's properties according to
114
    // values from the Action instance. 
115
    super.configurePropertiesFromAction(a);
116
  }
117
 
118
  public AccessibleContext getAccessibleContext()
119
  {
120
    if (accessibleContext == null)
121
      accessibleContext = new AccessibleJButton();
122
    return accessibleContext;
123
  }
124
 
125
  public String getUIClassID()
126
  {
127
    // Returns a string that specifies the name of the L&F class that renders
128
    // this component.  
129
    return "ButtonUI";
130
  }
131
 
132
  public boolean isDefaultButton()
133
  {
134
    // Returns whether or not this button is the default button on the
135
    // RootPane.
136
    return is_def;
137
  }
138
 
139
  public boolean isDefaultCapable()
140
  {
141
    // Returns whether or not this button is capable of being the default
142
    // button on the RootPane. 
143
    return def;
144
  }
145
 
146
  protected String paramString()
147
  {
148
    String superParam = super.paramString();
149
 
150
    // 41 is the maximum number of chars which may be needed.
151
    StringBuffer sb = new StringBuffer(41);
152
    sb.append(",defaultButton=").append(is_def);
153
    sb.append(",defaultCapable=").append(def);
154
 
155
    return superParam + sb.toString();
156
  }
157
 
158
  /**
159
   * Overrides JComponent.removeNotify to check if this button is currently
160
   * set as the default button on the RootPane, and if so, sets the RootPane's
161
   * default button to null to ensure the RootPane doesn't hold onto an invalid
162
   * button reference.
163
   */
164
  public void removeNotify()
165
  {
166
    JRootPane root = SwingUtilities.getRootPane(this);
167
    if (root != null && root.getDefaultButton() == this)
168
      root.setDefaultButton(null);
169
    super.removeNotify();
170
  }
171
 
172
  public void setDefaultCapable(boolean defaultCapable)
173
  {
174
    def = defaultCapable;
175
  }
176
 
177
  public void updateUI()
178
  {
179
    setUI((ButtonUI) UIManager.getUI(this));
180
  }
181
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.