/*
* @(#)AbstractButton.java 1.190 06/05/09
*
* Copyright 2006 Sun Microsystems, Inc. All rights reserved.
* SUN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
*/
package javax.swing;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.text.*;
import java.awt.geom.*;
import java.beans.*;
import java.util.Enumeration;
import java.util.Vector;
import java.io.Serializable;
import javax.swing.event.*;
import javax.swing.border.*;
import javax.swing.plaf.*;
import javax.accessibility.*;
import javax.swing.text.*;
import javax.swing.text.html.*;
import javax.swing.plaf.basic.*;
import java.util.*;
/**
* Defines common behaviors for buttons and menu items.
* <p>
* Buttons can be configured, and to some degree controlled, by
* <code><a href="Action.html">Action</a></code>s. Using an
* <code>Action</code> with a button has many benefits beyond directly
* configuring a button. Refer to <a href="Action.html#buttonActions">
* Swing Components Supporting <code>Action</code></a> for more
* details, and you can find more information in <a
* href="http://java.sun.com/docs/books/tutorial/uiswing/misc/action.html">How
* to Use Actions</a>, a section in <em>The Java Tutorial</em>.
* <p>
* For further information see
* <a
href="http://java.sun.com/docs/books/tutorial/uiswing/components/button.html">How to Use Buttons, Check Boxes, and Radio Buttons</a>,
* a section in <em>The Java Tutorial</em>.
* <p>
* <strong>Warning:</strong>
* Serialized objects of this class will not be compatible with
* future Swing releases. The current serialization support is
* appropriate for short term storage or RMI between applications running
* the same version of Swing. As of 1.4, support for long term storage
* of all JavaBeans<sup><font size="-2">TM</font></sup>
* has been added to the <code>java.beans</code> package.
* Please see {@link java.beans.XMLEncoder}.
*
* @version 1.190 05/09/06
* @author Jeff Dinkins
*/
public abstract class AbstractButton extends JComponent implements ItemSelectable, SwingConstants {
// *********************************
// ******* Button properties *******
// *********************************
/** Identifies a change in the button model. */
public static final String MODEL_CHANGED_PROPERTY = "model";
/** Identifies a change in the button's text. */
public static final String TEXT_CHANGED_PROPERTY = "text";
/** Identifies a change to the button's mnemonic. */
public static final String MNEMONIC_CHANGED_PROPERTY = "mnemonic";
// Text positioning and alignment
/** Identifies a change in the button's margins. */
public static final String MARGIN_CHANGED_PROPERTY = "margin";
/** Identifies a change in the button's vertical alignment. */
public static final String VERTICAL_ALIGNMENT_CHANGED_PROPERTY = "verticalAlignment";
/** Identifies a change in the button's horizontal alignment. */
public static final String HORIZONTAL_ALIGNMENT_CHANGED_PROPERTY = "horizontalAlignment";
/** Identifies a change in the button's vertical text position. */
public static final String VERTICAL_TEXT_POSITION_CHANGED_PROPERTY = "verticalTextPosition";
/** Identifies a change in the button's horizontal text position. */
public static final String HORIZONTAL_TEXT_POSITION_CHANGED_PROPERTY = "horizontalTextPosition";
// Paint options
/**
* Identifies a change to having the border drawn,
* or having it not drawn.
*/
public static final String BORDER_PAINTED_CHANGED_PROPERTY = "borderPainted";
/**
* Identifies a change to having the border highlighted when focused,
* or not.
*/
public static final String FOCUS_PAINTED_CHANGED_PROPERTY = "focusPainted";
/**
* Identifies a change from rollover enabled to disabled or back
* to enabled.
*/
public static final String ROLLOVER_ENABLED_CHANGED_PROPERTY = "rolloverEnabled";
/**
* Identifies a change to having the button paint the content area.
*/
=1= |