add method to include the JRadioButton objects
in the group.)
Note: The ButtonGroup object is a logical grouping -- not a physical grouping. Tocreate a button panel, you should still create a JPanel or similar container-object and add a javax.swing.border.Border to it to set it off from surrounding components.
See How to Use Buttons, Check Boxes, and Radio Buttons in The Java Tutorial for further documentation.
Warning:
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 JavaBeansTM
has been added to the java.beans package.
Please see java.beans.XMLEncoder
.
getAlignmentY.
Specifies an alignment to the bottom of the component.getAlignmentY and
getAlignmentX. Specifies an alignment to
the center of the componentgetAlignmentX.
Specifies an alignment to the left side of the component.getAlignmentX.
Specifies an alignment to the right side of the component.getAlignmentY().
Specifies an alignment to the top of the component.registerKeyboardAction that
means that the command should be invoked when the receiving
component is an ancestor of the focused component or is
itself the focused component.registerKeyboardAction that
means that the command should be invoked when
the component has the focus.registerKeyboardAction that
means that the command should be invoked when
the receiving component is in the window that has the focus
or is itself the focused component.
Note: If a component has been added to a container that
has been displayed, validate must be
called on that container to display the new component.
If multiple components are being added, you can improve
efficiency by calling validate only once,
after all the components have been added.
Note: If a component has been added to a container that
has been displayed, validate must be
called on that container to display the new component.
If multiple components are being added, you can improve
efficiency by calling validate only once,
after all the components have been added.
Note: If a component has been added to a container that
has been displayed, validate must be
called on that container to display the new component.
If multiple components are being added, you can improve
efficiency by calling validate only once,
after all the components have been added.
Note: If a component has been added to a container that
has been displayed, validate must be
called on that container to display the new component.
If multiple components are being added, you can improve
efficiency by calling validate only once,
after all the components have been added.
This method is obsolete as of 1.1. Please use the
method add(Component, Object) instead.
ActionListener to the button.listener so that it will receive
AncestorEvents when it or any of its ancestors
move or are made visible or invisible.
Events are also sent when the component or its ancestors are added
or removed from the containment hierarchy.ChangeListener to the button.l is null,
no exception is thrown and no action is performed.l is null,
no exception is thrown and no action is performed.l is null,
no exception is thrown and no action is performed.l is null,
no exception is thrown and no action is performed.getInputMethodRequests to return an
InputMethodRequests instance.
If listener l is null,
no exception is thrown and no action is performed.ItemListener to the checkbox.l is null,
no exception is thrown and no action is performed.l is null,
no exception is thrown and no action is performed.For information on how mouse wheel events are dispatched, see the class description for MouseWheelEvent .
If l is null, no exception is thrown and no
action is performed.
KeyboardAction event listeners.If listener is null, no exception is thrown and no action is performed.
If listener is null, no exception is thrown and no action is performed.
VetoableChangeListener to the listener list.
The listener is registered for all properties.ComponentOrientation property of this container
and all components contained within it.false, this Container is inheriting the
Set from an ancestor, or from the current KeyboardFocusManager.
This method does not cause the image to begin loading. An
application must use the prepareImage method
to force the loading of an image.
Information on the flags returned by this method can be found
with the discussion of the ImageObserver interface.
This method does not cause the image to begin loading. An
application must use the prepareImage method
to force the loading of an image.
The checkImage method of Component
calls its peer's checkImage method to calculate
the flags. If this component does not yet have a peer, the
component's toolkit's checkImage method is called
instead.
Information on the flags returned by this method can be found
with the discussion of the ImageObserver interface.
Component's "visible rect rectangle" - the
intersection of the visible rectangles for this component
and all of its ancestors. The return value is stored in
visibleRect.JToolTip that should be used
to display the tooltip.
Components typically would not override this method,
but it can be used to
cause different tooltips to be displayed differently.VolatileImage interface.processEvent before returning for 1.1-style
events which have been enabled for the Component.pressTime
milliseconds.validate method instead.
The equals method implements an equivalence relation
on non-null object references:
x, x.equals(x) should return
true.
x and y, x.equals(y)
should return true if and only if
y.equals(x) returns true.
x, y, and z, if
x.equals(y) returns true and
y.equals(z) returns true, then
x.equals(z) should return true.
x and y, multiple invocations of
x.equals(y) consistently return true
or consistently return false, provided no
information used in equals comparisons on the
objects is modified.
x,
x.equals(null) should return false.
The equals method for class Object implements
the most discriminating possible equivalence relation on objects;
that is, for any non-null reference values x and
y, this method returns true if and only
if x and y refer to the same object
(x == y has the value true).
Note that it is generally necessary to override the hashCode method whenever this method is overridden, so as to maintain the general contract for the hashCode method, which states that equal objects must have equal hash codes.
The findComponentAt method is different from getComponentAt in that getComponentAt only searches the Container's immediate children; if the containing component is a Container, findComponentAt will search that child to find a nested component.
The findComponentAt method is different from getComponentAt in that getComponentAt only searches the Container's immediate children; if the containing component is a Container, findComponentAt will search that child to find a nested component.
Action for this
ActionEvent source, or null
if no Action is set.ActionListeners added
to this AbstractButton with addActionListener().ActionMap used to determine what
Action to fire for particular KeyStroke
binding. The returned ActionMap, unless otherwise
set, will have the ActionMap from the UI set as the parent.Container.getAlignmentX to return
the vertical alignment.Container.getAlignmentY to return
the horizontal alignment.autoscrolls property.null if no
border is currently set.Rectangle object. The bounds specify this
component's width, height, and location relative to
its parent.rv and returns rv.
If rv is null a new Rectangle
is allocated. This version of getBounds is useful
if the caller wants to avoid allocating a new Rectangle
object on the heap.ChangeListeners added
to this AbstractButton with addChangeListener().putClientProperty will return
a non-null value.ColorModel used to display
the component on the output device.LayoutManager
and Component
subclasses that wish to respect orientation should call this method to
get the component's orientation before performing layout or drawing.JPopupMenu that assigned for this component.
If this component does not have a JPopupMenu assigned
to it and getInheritsPopupMenu is true, this
will return getParent().getComponentPopupMenu() (assuming
the parent is valid.)
For Java 2 platform v1.3, a KeyStroke can be associated
with more than one condition.
For example, 'a' could be bound for the two
conditions WHEN_FOCUSED and
WHEN_IN_FOCUSED_WINDOW condition.
Cursor.DEFAULT_CURSOR is returned.Some look and feels might not render the disabled Icon, in which case they will ignore this.
getDisabledIcon() otherwise.
Some look and feels might not render the disabled selected Icon, in which case they will ignore this.
DropTarget associated with this
Component.setFocusTraversalKeys for a full description of each key.)
If a Set of traversal keys has not been explicitly defined for this Container, then this Container's parent's Set is returned. If no Set has been explicitly defined for any of this Container's ancestors, then the current KeyboardFocusManager's default Set is returned.
FontMetrics for the specified Font.Graphics object and
then invoke operations on that object to draw on the component.GraphicsConfiguration associated with this
Component.
If the Component has not been assigned a specific
GraphicsConfiguration,
the GraphicsConfiguration of the
Component object's top-level container is
returned.
If the Component has been created, but not yet added
to a Container, this method returns null.component.getBounds().height, or
component.getSize().height because it doesn't cause any
heap allocations.InputMap that is used when the
component has focus.
This is convenience method for getInputMap(WHEN_FOCUSED).InputMap that is used during
condition.InputMethodRequests instance.
At the same time, it also has to handle input method events.super.getInsets.Insets object containing this component's inset
values. The passed-in Insets object will be reused
if possible.
Calling methods cannot assume that the same object will be returned,
however. All existing values within this object are overwritten.
If insets is null, this will allocate a new one.ItemListeners added
to this AbstractButton with addItemListener().FooListeners
upon this JComponent.
FooListeners are registered using the
addFooListener method.
You can specify the listenerType argument
with a class literal,
such as
FooListener.class.
For example, you can query a
JComponent c
for its mouse listeners with the following code:
MouseListener[] mls = (MouseListener[])(c.getListeners(MouseListener.class));If no such listeners exist, this method returns an empty array.
Due to the asynchronous nature of native event handling, this
method can return outdated values (for instance, after several calls
of setLocation() in rapid succession). For this
reason, the recommended method of obtaining a component's position is
within java.awt.event.ComponentListener.componentMoved(),
which is called after the operating system has finished moving the
component.
rv and returns rv.
If rv is null a new Point
is allocated. This version of getLocation is useful
if the caller wants to avoid allocating a new Point
object on the heap.null value
just returns it. If the UI delegate's getMaximumSize
method returns a non-null value then return that;
otherwise defer to the component's layout manager.null value
just returns it. If the UI delegate's getMinimumSize
method returns a non-null value then return that; otherwise
defer to the component's layout manager.Component's
coordinate space if the Component is directly under the mouse
pointer, otherwise returns null.
If the Component is not showing on the screen, this method
returns null even if the mouse pointer is above the area
where the Component would be displayed.
If the Component is partially or fully obscured by other
Components or native windows, this method returns a non-null
value only if the mouse pointer is located above the unobscured part of the
Component.
For Containers it returns a non-null value if the mouse is
above the Container itself or above any of its descendants.
Use
if you need to exclude children.
Sometimes the exact mouse coordinates are not important, and the only thing
that matters is whether a specific Component is under the mouse
pointer. If the return value of this method is null, mouse
pointer is not directly above the Component.
Container's
coordinate space if the Container is under the mouse pointer,
otherwise returns null.
This method is similar to
with the exception
that it can take the Container's children into account.
If allowChildren is false, this method will return
a non-null value only if the mouse pointer is above the Container
directly, not above the part obscured by children.
If allowChildren is true, this method returns
a non-null value if the mouse pointer is above Container or any
of its descendants.
Returns the Component set by a prior call to
setNextFocusableComponent(Component) on this
JComponent.
null
is truend the look and feel will choose a suitable location.preferredSize has been set to a
non-null value just returns it.
If the UI delegate's getPreferredSize
method returns a non null value then return that;
otherwise defer to the component's layout manager.KeyStrokes that will initiate
registered actions.JRootPane ancestor for this component.null if the button is not selected.Dimension object. The height
field of the Dimension object contains
this component's height, and the width
field of the Dimension object contains
this component's width.rv and returns rv.
If rv is null a new Dimension
object is allocated. This version of getSize
is useful if the caller wants to avoid allocating a new
Dimension object on the heap.null is returned, Swing will choose a location.
The default implementation returns null.setToolTipText.setToolTipText. If a component provides
more extensive API to support differing tooltips at different locations,
this method should be overridden.Window or Applet),
or null if this component has not
been added to any container.transferHandler property.Component's "visible rectangle" - the
intersection of this component's visible rectangle,
new Rectangle(0, 0, getWidth(), getHeight()),
and all of its ancestors' visible rectangles.component.getBounds().width, or
component.getSize().width because it doesn't cause any
heap allocations.component.getBounds().x, or
component.getLocation().x because it doesn't cause any
heap allocations.component.getBounds().y, or
component.getLocation().y because it doesn't cause any
heap allocations.
This method is intended for use by focus implementations. Client code
should not use this method; instead, it should use
requestFocusInWindow().
true if this Component is the
focus owner. This method is obsolete, and has been replaced by
isFocusOwner().java.util.Hashtable.
The general contract of hashCode is:
hashCode method on each of
the two objects must produce the same integer result.
As much as is reasonably practical, the hashCode method defined by class Object does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the JavaTM programming language.)
Icon's
Image is not equal to the
passed in Image img.false, this Component is
inheriting its background color from an ancestor.borderPainted property.contentAreaFilled property.false, this Component is inheriting
its cursor from an ancestor.A component is made displayable either when it is added to a displayable containment hierarchy or when its containment hierarchy is made displayable. A containment hierarchy is made displayable when its ancestor window is either packed or made visible.
A component is made undisplayable either when it is removed from a displayable containment hierarchy or when its containment hierarchy is made undisplayable. A containment hierarchy is made undisplayable when its ancestor window is disposed.
setEnabled method.true for both such
Containers in this case.true if this Component is the
focus owner.paintFocus property.Component can become the focus
owner.true then when
keyboard focus manager searches container hierarchy for focus
traversal policy and encounters this container before any other
container with this property as true or focus cycle roots then
its focus traversal policy will be used instead of focus cycle
root's policy.false, this
Container will inherit its focus traversal policy from an ancestor.false, this Component is inheriting its
font from an ancestor.false, this Component is
inheriting its foreground color from an ancestor.Component and Container,
other than the ones defined in this package like Button
or Scrollbar, are lightweight.
All of the Swing components are lightweights.
This method will always return false if this component
is not displayable because it is impossible to determine the
weight of an undisplayable component.
Changes this JComponent's focus traversal keys to
CTRL+TAB and CTRL+SHIFT+TAB. Also prevents
SortingFocusTraversalPolicy from considering descendants
of this JComponent when computing a focus traversal cycle.
null
value otherwise returns false.setMinimumSize has been
invoked with a non-null value.An opaque component paints every pixel within its rectangular bounds. A non-opaque component paints only a subset of its pixels or none at all, allowing the pixels underneath it to "show through". Therefore, a component that does not fully paint its pixels provides a degree of transparency.
Subclasses that guarantee to always completely paint their contents should override this method and return true.
JComponent subclasses that can't make this
guarantee, such as JLayeredPane,
should override this method to return false.null value otherwise returns false.true if this JComponent should
get focus; otherwise returns false.
Please see How to Use the Focus Subsystem, a section in The Java Tutorial, for more information.
rolloverEnabled property.revalidate calls by
descendants of this component will cause the entire tree
beginning with this root to be validated.
Returns false by default. JScrollPane overrides
this method and returns true.Frame objects.System.out.
The immediate children of the container are printed with
an indentation of indent+1. The children
of those children are printed at indent+2
and so on.
The immediate children of the container are printed with
an indentation of indent+1. The children
of those children are printed at indent+2
and so on.
wait methods.
The awakened thread will not be able to proceed until the current thread relinquishes the lock on this object. The awakened thread will compete in the usual manner with any other threads that might be actively competing to synchronize on this object; for example, the awakened thread enjoys no reliable privilege or disadvantage in being the next thread to lock this object.
This method should only be called by a thread that is the owner of this object's monitor. A thread becomes the owner of the object's monitor in one of three ways:
synchronized statement
that synchronizes on the object.
Class, by executing a
synchronized static method of that class.
Only one thread at a time can own an object's monitor.
wait methods.
The awakened threads will not be able to proceed until the current thread relinquishes the lock on this object. The awakened threads will compete in the usual manner with any other threads that might be actively competing to synchronize on this object; for example, the awakened threads enjoy no reliable privilege or disadvantage in being the next thread to lock this object.
This method should only be called by a thread that is the owner
of this object's monitor. See the notify method for a
description of the ways in which a thread can become the owner of
a monitor.
paint directly,
but should instead use the repaint method to
schedule the component for redrawing.
This method actually delegates the work of painting to three
protected methods: paintComponent,
paintBorder,
and paintChildren. They're called in the order
listed to ensure that children appear on top of component itself.
Generally speaking, the component and its children should not
paint in the insets area allocated to the border. Subclasses can
just override this method, as always. A subclass that just
wants to specialize the UI (look and feel) delegate's
paint method should just override
paintComponent.
The origin of the graphics context, its
(0, 0) coordinate point, is the
top-left corner of this component. The clipping region of the
graphics context is the bounding rectangle of this component.
It's rarely necessary to call this method. In most cases it's more efficient to call repaint, which defers the actual painting and can collapse redundant requests into a single paint call. This method is useful if one needs to update the display while the current event is being dispatched.
The image data is downloaded asynchronously in another thread, and an appropriately scaled screen representation of the image is generated.
printComponent,
printBorder and printChildren. It is
not recommended that you override this method, instead override
one of the previously mentioned methods. This method sets the
component's state such that the double buffer will not be used, eg
painting will be done directly on the passed in Graphics.print on the component.
The get/putClientProperty methods provide access to
a small per-instance hashtable. Callers can use get/putClientProperty
to annotate components that were created by another module.
For example, a
layout manager might store per child constraints this way. For example:
componentA.putClientProperty("to the left of", componentB);
If value is null this method will remove the property.
Changes to client properties are reported with
PropertyChange events.
The name of the property (for the sake of PropertyChange
events) is key.toString().
The clientProperty dictionary is not intended to
support large
scale extensions to JComponent nor should be it considered an
alternative to subclassing when designing a new component.
getActionMap() and getInputMap() for
similiar behavior.getActionMap() and getInputMap() for
similiar behavior. For example, to bind the KeyStroke
aKeyStroke to the Action anAction
now use:
component.getInputMap().put(aKeyStroke, aCommand); component.getActionMap().put(aCommmand, anAction);The above assumes you want the binding to be applicable for
WHEN_FOCUSED. To register bindings for other focus
states use the getInputMap method that takes an integer.
Register a new keyboard action.
anAction will be invoked if a key event matching
aKeyStroke occurs and aCondition is verified.
The KeyStroke object defines a
particular combination of a keyboard key and one or more modifiers
(alt, shift, ctrl, meta).
The aCommand will be set in the delivered event if
specified.
The aCondition can be one of:
- WHEN_FOCUSED
- The action will be invoked only when the keystroke occurs while the component has the focus.
- WHEN_IN_FOCUSED_WINDOW
- The action will be invoked when the keystroke occurs while the component has the focus or if the component is in the window that has the focus. Note that the component need not be an immediate descendent of the window -- it can be anywhere in the window's containment hierarchy. In other words, whenever any component in the window has the focus, the action registered with this component is invoked.
- WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
- The action will be invoked when the keystroke occurs while the component has the focus or if the component is an ancestor of the component that has the focus.
The combination of keystrokes and conditions lets you define high level (semantic) action events for a specified keystroke+modifier combination (using the KeyStroke class) and direct to a parent or child of a component that has the focus, or to the component itself. In other words, in any hierarchical structure of components, an arbitrary key-combination can be immediately directed to the appropriate component in the hierarchy, and cause a specific method to be invoked (usually by way of adapter objects).
If an action has already been registered for the receiving
container, with the same charCode and the same modifiers,
anAction will replace the action.
removeLayoutComponent method.index,
from this container.
This method also notifies the layout manager to remove the
component from this container's layout via the
removeLayoutComponent method.ActionListener from the button.
If the listener is the currently set Action
for the button, then the Action
is set to null.removeLayoutComponent method.listener so that it will no longer receive
AncestorEvents.l is null,
no exception is thrown and no action is performed.l is null,
no exception is thrown and no action is performed.l is null,
no exception is thrown and no action is performed.l is null,
no exception is thrown and no action is performed.l is null,
no exception is thrown and no action is performed.ItemListener from the button.l is null,
no exception is thrown and no action is performed.l is null,
no exception is thrown and no action is performed.l is null,
no exception is thrown and no action is performed.KeyboardActions
set up in the the chain of parent components are removed.If listener is null, no exception is thrown and no action is performed.
PropertyChangeListener from the listener
list for a specific property. This method should be used to remove
PropertyChangeListeners
that were registered for a specific bound property.
If propertyName or listener is null,
no exception is thrown and no action is taken.
VetoableChangeListener from the listener list.
This removes a VetoableChangeListener that was registered
for all properties.
If this component is a lightweight component, this method
causes a call to this component's paint
method as soon as possible. Otherwise, this method causes
a call to this component's update method as soon
as possible.
Note: For more information on the paint mechanisms utilitized by AWT and Swing, including information on how to write the most efficient painting code, see Painting in AWT and Swing.
If this component is a lightweight component, this method
causes a call to this component's paint method
as soon as possible. Otherwise, this method causes a call to
this component's update method as soon as possible.
Note: For more information on the paint mechanisms utilitized by AWT and Swing, including information on how to write the most efficient painting code, see Painting in AWT and Swing.
paint
within tm milliseconds.
Note: For more information on the paint mechanisms utilitized by AWT and Swing, including information on how to write the most efficient painting code, see Painting in AWT and Swing.
Requests focus on this JComponent's
FocusTraversalPolicy's default Component.
If this JComponent is a focus cycle root, then its
FocusTraversalPolicy is used. Otherwise, the
FocusTraversalPolicy of this JComponent's
focus-cycle-root ancestor is used.
Component gets the input focus.
Refer to Component.requestFocus()
for a complete description of
this method.
Note that the use of this method is discouraged because its behavior is platform dependent. Instead we recommend the use of requestFocusInWindow() . If you would like more information on focus, see
Component gets the input focus.
Refer to Component.requestFocus(boolean)
for a complete description of
this method.
Note that the use of this method is discouraged because its behavior is platform dependent. Instead we recommend the use of requestFocusInWindow(boolean) . If you would like more information on focus, see How to Use the Focus Subsystem, a section in The Java Tutorial.
Component gets the input focus.
Refer to Component.requestFocusInWindow()
for a complete description of
this method.
If you would like more information on focus, see How to Use the Focus Subsystem, a section in The Java Tutorial.
InputMaps
and ActionMap. This has the effect of removing any
local bindings, and allowing the bindings defined in parent
InputMap/ActionMaps
(the UI is usually defined in the second tier) to persist.
Calls invalidate and then adds this component's
validateRoot to a list of components that need to be
validated. Validation will occur after all currently pending
events have been dispatched. In other words after this method
is called, the first validateRoot (if any) found when walking
up the containment hierarchy of this component will be validated.
By default, JRootPane, JScrollPane,
and JTextField return true
from isValidateRoot.
This method will automatically be called on this component
when a property value changes such that size, location, or
internal layout of this component has been affected. This automatic
updating differs from the AWT because programs generally no
longer need to invoke validate to get the contents of the
GUI to update.
scrollRectToVisible() message to the
JComponent's parent. Components that can service
the request, such as JViewport,
override this method and perform the scrolling.Action for the ActionEvent source.
The new Action replaces any previously set
Action but does not affect ActionListeners
independently added with addActionListener.
If the Action is already a registered
ActionListener for the button, it is not re-registered.
A side-effect of setting the Action is that the
ActionEvent source's properties are immediately
set from the values in the Action (performed by the
method configurePropertiesFromAction) and
subsequently updated as the Action's properties change
(via a PropertyChangeListener created by the method
createActionPropertyChangeListener.
ActionMap to am. This does not set
the parent of the am to be the ActionMap
from the UI (if there was one), it is up to the caller to have done this.autoscrolls property.
If true mouse dragged events will be
synthetically generated when the mouse is dragged
outside of the component's bounds and mouse motion
has paused (while the button continues to be held
down). The synthetic events make it appear that the
drag gesture has resumed in the direction established when
the component's boundary was crossed. Components that
support autoscrolling must handle mouseDragged
events by calling scrollRectToVisible with a
rectangle that contains the mouse event's location. All of
the Swing components that support item selection and are
typically displayed in a JScrollPane
(JTable, JList, JTree,
JTextArea, and JEditorPane)
already handle mouse dragged events in this way. To enable
autoscrolling in any other component, add a mouse motion
listener that calls scrollRectToVisible.
For example, given a JPanel, myPanel:
MouseMotionListener doScrollRectToVisible = new MouseMotionAdapter() {
public void mouseDragged(MouseEvent e) {
Rectangle r = new Rectangle(e.getX(), e.getY(), 1, 1);
((JPanel)e.getSource()).scrollRectToVisible(r);
}
};
myPanel.addMouseMotionListener(doScrollRectToVisible);
The default value of the autoScrolls
property is false.Border object is
responsible for defining the insets for the component
(overriding any insets set directly on the component) and
for optionally rendering any border decorations within the
bounds of those insets. Borders should be used (rather
than insets) for creating both decorative and non-decorative
(such as margins and padding) regions for a swing component.
Compound borders can be used to nest multiple borders within a
single component.
Although technically you can set the border on any object
that inherits from
This is a bound property.JComponent, the look and
feel implementation of many standard Swing components
doesn't work well with user-set borders. In general,
when you want to set a border on a standard Swing
component other than JPanel or JLabel,
we recommend that you put the component in a JPanel
and set the border on the JPanel.
borderPainted property.
If true and the button has a border,
the border is painted. The default value for the
borderPainted property is true.x and y, and the
new size is specified by width and height.r. This component's new
position is specified by r.x and r.y,
and its new size is specified by r.width and
r.heightLayoutManager and Component
subclasses will use this property to
determine how to lay out and draw components.
At construction time, a component's orientation is set to
ComponentOrientation.UNKNOWN,
indicating that it has not been specified
explicitly. The UNKNOWN orientation behaves the same as
ComponentOrientation.LEFT_TO_RIGHT.
To set the orientation of a single component, use this method. To set the orientation of an entire component hierarchy, use applyComponentOrientation .
JPopupMenu for this JComponent.
The UI is responsible for registering bindings and adding the necessary
listeners such that the JPopupMenu will be shown at
the appropriate time. When the JPopupMenu is shown
depends upon the look and feel: some may show it on a mouse event,
some may enable a key binding.
If popup is null, and getInheritsPopupMenu
returns true, then getComponentPopupMenu will be delegated
to the parent. This provides for a way to make all child components
inherit the popupmenu of the parent.
This is a bound property.
If the component is a child of some other container, it is
removed from that container before being added to this container.
The important difference between this method and
java.awt.Container.add(Component, int) is that this method
doesn't call removeNotify on the component while
removing it from its previous container unless necessary and when
allowed by the underlying native windowing system. This way, if the
component has the keyboard focus, it maintains the focus when
moved to the new position.
This property is guaranteed to apply only to lightweight
non-Container components.
Note: Not all platforms support changing the z-order of
heavyweight components from one container into another without
the call to removeNotify. There is no way to detect
whether a platform supports this, so developers shouldn't make
any assumptions.
contentAreaFilled property.
If true the button will paint the content
area. If you wish to have a transparent button, such as
an icon only button, for example, then you should set
this to false. Do not call setOpaque(false).
The default value for the the contentAreaFilled
property is true.
This function may cause the component's opaque property to change.
The exact behavior of calling this function varies on a component-by-component and L&F-by-L&F basis.
contains method for
this component returns true for the current cursor location, and
this Component is visible, displayable, and enabled. Setting the
cursor of a Container causes that cursor to be displayed
within all of the container's subcomponents, except for those
that have a non-null cursor.
The value of this is updated as the properties relating to the
mnemonic change (such as the mnemonic itself, the text...).
You should only ever have to call this if
you do not wish the default character to be underlined. For example, if
the text was 'Save As', with a mnemonic of 'a', and you wanted the 'A'
to be decorated, as 'Save As', you would have to invoke
setDisplayedMnemonicIndex(5) after invoking
setMnemonic(KeyEvent.VK_A).
Component is buffered and one of its ancestor
is also buffered, the ancestor buffer will be used.DropTarget with this component.
The Component will receive drops only if it
is enabled.The alternative way to specify the traversal order of this Container's children is to make this Container a focus traversal policy provider.
paintFocus property, which must
be true for the focus state to be painted.
The default value for the paintFocus property
is true.
Some look and feels might not paint focus state;
they will ignore this property.If this Container is not a focus cycle root, the policy will be remembered, but will not be used or inherited by this or any other Containers until this Container is made a focus cycle root.
true will be used to acquire focus traversal policy
instead of closest focus cycle root ancestor.The default value of this property is 4 pixels.
This is a JavaBeans bound property.
This is useful, for example, if running under full-screen mode and better performance is desired, or if page-flipping is used as the buffer strategy.
getComponentPopupMenu should delegate
to the parent if this component does not have a JPopupMenu
assigned to it.
The default value for this is false, but some JComponent
subclasses that are implemented as a number of JComponents
may set this to true.
This is a bound property.
InputMap to use under the condition
condition to
map. A null value implies you
do not want any bindings to be used, even from the UI. This will
not reinstall the UI InputMap (if there was one).
condition has one of the following values:
WHEN_IN_FOCUSED_WINDOW
WHEN_FOCUSED
WHEN_ANCESTOR_OF_FOCUSED_COMPONENT
condition is WHEN_IN_FOCUSED_WINDOW
and map is not a ComponentInputMap, an
IllegalArgumentException will be thrown.
Similarly, if condition is not one of the values
listed, an IllegalArgumentException will be thrown.x and y
parameters in the coordinate space of this component's parent.p. Point
p is given in the parent's coordinate space.null will cause the button to
use the default margin. The button's default Border
object will use this value to create the proper margin.
However, if a non-default border is set on the button,
it is that Border object's responsibility to create the
appropriate margin space (else this property will
effectively be ignored).getMaximumSize will always
return this value; the component's UI will not be asked
to compute it. Setting the maximum size to null
restores the default behavior.getMinimumSize will always
return this value; the component's UI will not be asked
to compute it. Setting the minimum size to null
restores the default behavior.setMnemonic(int)
to set the mnemonic for a button. This method is only designed
to handle character values which fall between 'a' and 'z' or
'A' and 'Z'.
A mnemonic must correspond to a single key on the keyboard
and should be specified using one of the VK_XXX
keycodes defined in java.awt.event.KeyEvent.
Mnemonics are case-insensitive, therefore a key event
with the corresponding keycode would cause the button to be
activated whether or not the Shift modifier was pressed.
If the character defined by the mnemonic is found within the button's label string, the first occurrence of it will be underlined to indicate the mnemonic to the user.
Overrides the default FocusTraversalPolicy for this
JComponent's focus traversal cycle by unconditionally
setting the specified Component as the next
Component in the cycle, and this JComponent
as the specified Component's previous
Component in the cycle.
The default value of this property is false for JComponent.
However, the default value for this property on most standard
JComponent subclasses (such as JButton and
JTree) is look-and-feel dependent.
preferredSize is null, the UI will
be asked for the preferred size.JComponent
should get focus. This is only a hint, and it is up to consumers that
are requesting focus to honor this property. This is typically honored
for mouse operations, but not keyboard operations. For example, look
and feels could verify this property is true before requesting focus
during a mouse operation. This would often times be used if you did
not want a mouse press on a JComponent to steal focus,
but did want the JComponent to be traversable via the
keyboard. If you do not want this JComponent focusable at
all, use the setFocusable method instead.
Please see How to Use the Focus Subsystem, a section in The Java Tutorial, for more information.
rolloverEnabled property, which
must be true for rollover effects to occur.
The default value for the rolloverEnabled
property is false.
Some look and feels might not implement rollover effects;
they will ignore this property.actionEvent.
Call doClick to perform a programatic action change.d.width
and height d.height.width
and height height.See How to Use Tool Tips in The Java Tutorial for further documentation.
transferHandler property,
which is null if the component does
not support data transfer operations.
If newHandler is not null,
and the system property
suppressSwingDropSupport is not true, this will
install a DropTarget on the JComponent.
The default for the system property is false, so that a
DropTarget will be added.
Please see How to Use Drag and Drop and Data Transfer, a section in The Java Tutorial, for more information.
Component.setVisible.ActionMap/InputMap, or place a dummy binding the
InputMap. Removing the binding from the
InputMap allows bindings in parent InputMaps
to be active, whereas putting a dummy binding in the
InputMap effectively disables
the binding from ever happening.
Unregisters a keyboard action.
This will remove the binding from the ActionMap
(if it exists) as well as the InputMaps.
paint. Doesn't clear the background but see
ComponentUI.update, which is called by
paintComponent.
The validate method is used to cause a container
to lay out its subcomponents again. It should be invoked when
this container's subcomponents are modified (added to or
removed from the container, or layout-related information
changed) after the container has been displayed.
The current thread must own this object's monitor. The thread
releases ownership of this monitor and waits until another thread
notifies threads waiting on this object's monitor to wake up
either through a call to the notify method or the
notifyAll method. The thread then waits until it can
re-obtain ownership of the monitor and resumes execution.
As in the one argument version, interrupts and spurious wakeups are possible, and this method should always be used in a loop:
synchronized (obj) {
while (<condition does not hold>)
obj.wait();
... // Perform action appropriate to condition
}
This method should only be called by a thread that is the owner
of this object's monitor. See the notify method for a
description of the ways in which a thread can become the owner of
a monitor.The current thread must own this object's monitor.
This method causes the current thread (call it T) to place itself in the wait set for this object and then to relinquish any and all synchronization claims on this object. Thread T becomes disabled for thread scheduling purposes and lies dormant until one of four things happens:
A thread can also wake up without being notified, interrupted, or timing out, a so-called spurious wakeup. While this will rarely occur in practice, applications must guard against it by testing for the condition that should have caused the thread to be awakened, and continuing to wait if the condition is not satisfied. In other words, waits should always occur in loops, like this one:
synchronized (obj) {
while (<condition does not hold>)
obj.wait(timeout);
... // Perform action appropriate to condition
}
(For more information on this topic, see Section 3.2.3 in Doug Lea's
"Concurrent Programming in Java (Second Edition)" (Addison-Wesley,
2000), or Item 50 in Joshua Bloch's "Effective Java Programming
Language Guide" (Addison-Wesley, 2001).
If the current thread is interrupted by another thread while it is waiting, then an InterruptedException is thrown. This exception is not thrown until the lock status of this object has been restored as described above.
Note that the wait method, as it places the current thread into the wait set for this object, unlocks only this object; any other objects on which the current thread may be synchronized remain locked while the thread waits.
This method should only be called by a thread that is the owner
of this object's monitor. See the notify method for a
description of the ways in which a thread can become the owner of
a monitor.
This method is similar to the wait method of one
argument, but it allows finer control over the amount of time to
wait for a notification before giving up. The amount of real time,
measured in nanoseconds, is given by:
1000000*timeout+nanos
In all other respects, this method does the same thing as the method of one argument. In particular, wait(0, 0) means the same thing as wait(0).
The current thread must own this object's monitor. The thread releases ownership of this monitor and waits until either of the following two conditions has occurred:
notify method
or the notifyAll method.
timeout
milliseconds plus nanos nanoseconds arguments, has
elapsed.
The thread then waits until it can re-obtain ownership of the monitor and resumes execution.
As in the one argument version, interrupts and spurious wakeups are possible, and this method should always be used in a loop:
synchronized (obj) {
while (<condition does not hold>)
obj.wait(timeout, nanos);
... // Perform action appropriate to condition
}
This method should only be called by a thread that is the owner
of this object's monitor. See the notify method for a
description of the ways in which a thread can become the owner of
a monitor.