public abstract class LayoutStyle extends Object
LayoutStyle
provides information about how to position
components. This class is primarily useful for visual tools and
layout managers. Most developers will not need to use this class.
You typically don't set or create a
LayoutStyle
. Instead use the static method
getInstance
to obtain the current instance.
Modifier and Type | Class and Description |
---|---|
static class |
LayoutStyle.ComponentPlacement
ComponentPlacement is an enumeration of the
possible ways two components can be placed relative to each
other. |
Constructor and Description |
---|
LayoutStyle()
Creates a new
LayoutStyle . |
Modifier and Type | Method and Description |
---|---|
abstract int |
getContainerGap(JComponent component,
int position,
Container parent)
Returns the amount of space to place between the component and specified
edge of its parent.
|
static LayoutStyle |
getInstance()
Returns the shared instance of
LayoutStyle . |
abstract int |
getPreferredGap(JComponent component1,
JComponent component2,
LayoutStyle.ComponentPlacement type,
int position,
Container parent)
Returns the amount of space to use between two components.
|
static void |
setInstance(LayoutStyle style)
Sets the shared instance of
LayoutStyle . |
public LayoutStyle()
LayoutStyle
. You generally don't
create a LayoutStyle
. Instead use the method
getInstance
to obtain the current
LayoutStyle
.public static void setInstance(LayoutStyle style)
LayoutStyle
. Specifying
null
results in using the LayoutStyle
from
the current LookAndFeel
.style
- the LayoutStyle
, or null
getInstance()
public static LayoutStyle getInstance()
LayoutStyle
. If an instance
has not been specified in setInstance
, this will return
the LayoutStyle
from the current LookAndFeel
.LayoutStyle
LookAndFeel.getLayoutStyle()
public abstract int getPreferredGap(JComponent component1, JComponent component2, LayoutStyle.ComponentPlacement type, int position, Container parent)
component2
relative to component1
.
For example, the following returns the amount of space to place
between component2
and component1
when component2
is placed vertically above
component1
:
int gap = getPreferredGap(component1, component2, ComponentPlacement.RELATED, SwingConstants.NORTH, parent);The
type
parameter indicates the relation between
the two components. If the two components will be contained in
the same parent and are showing similar logically related
items, use RELATED
. If the two components will be
contained in the same parent but show logically unrelated items
use UNRELATED
. Some look and feels may not
distinguish between the RELATED
and
UNRELATED
types.
The return value is not intended to take into account the
current size and position of component2
or
component1
. The return value may take into
consideration various properties of the components. For
example, the space may vary based on font size, or the preferred
size of the component.
component1
- the JComponent
component2
is being placed relative tocomponent2
- the JComponent
being placedposition
- the position component2
is being placed
relative to component1
; one of
SwingConstants.NORTH
,
SwingConstants.SOUTH
,
SwingConstants.EAST
or
SwingConstants.WEST
type
- how the two components are being placedparent
- the parent of component2
; this may differ
from the actual parent and it may be null
NullPointerException
- if component1
,
component2
or type
is
null
IllegalArgumentException
- if position
is not
one of SwingConstants.NORTH
,
SwingConstants.SOUTH
,
SwingConstants.EAST
or
SwingConstants.WEST
LookAndFeel.getLayoutStyle()
public abstract int getContainerGap(JComponent component, int position, Container parent)
component
- the JComponent
being positionedposition
- the position component
is being placed
relative to its parent; one of
SwingConstants.NORTH
,
SwingConstants.SOUTH
,
SwingConstants.EAST
or
SwingConstants.WEST
parent
- the parent of component
; this may differ
from the actual parent and may be null
IllegalArgumentException
- if position
is not
one of SwingConstants.NORTH
,
SwingConstants.SOUTH
,
SwingConstants.EAST
or
SwingConstants.WEST
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.