java.lang.Object javax.swing.LayoutStyle
public abstract class LayoutStyle
LayoutStyle
提供有关如何确定组件位置的信息。此类主要用于可视化工具和布局管理器。大多数开发人员不需要使用此类。
通常不设置或创建 LayoutStyle
。而是使用静态方法 getInstance
获取当前实例。
嵌套类摘要 | |
---|---|
static class |
LayoutStyle.ComponentPlacement ComponentPlacement 是两个组件相对于彼此的可能放置方式的枚举。 |
构造方法摘要 | |
---|---|
LayoutStyle() 创建一个新的 LayoutStyle 。 |
方法摘要 | |
---|---|
abstract int |
getContainerGap(JComponent component, int position, Container parent) 返回组件与其父容器的指定边缘之间放置的空格数量。 |
static LayoutStyle |
getInstance() 返回 LayoutStyle 的共享实例。 |
abstract int |
getPreferredGap(JComponent component1, JComponent component2, LayoutStyle.ComponentPlacement type, int position, Container parent) 返回两个组件之间使用的空格的数量。 |
static void |
setInstance(LayoutStyle style) 设置 LayoutStyle 的共享实例。 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
构造方法详细信息 |
---|
public LayoutStyle()
LayoutStyle
。通常不创建
LayoutStyle
。而是使用
getInstance
方法获取当前
LayoutStyle
。
方法详细信息 |
---|
public static void setInstance(LayoutStyle style)
LayoutStyle
的共享实例。指定
null
将导致使用当前
LookAndFeel
的
LayoutStyle
。
style
-
LayoutStyle
,或
null
getInstance()
public static LayoutStyle getInstance()
LayoutStyle
的共享实例。如果没有在
setInstance
中指定实例,则此方法将返回当前
LookAndFeel
的
LayoutStyle
。
LayoutStyle
的共享实例
LookAndFeel.getLayoutStyle()
public abstract int getPreferredGap(JComponent component1, JComponent component2, LayoutStyle.ComponentPlacement type, int position, Container parent)
component1
放置
component2
的距离。例如,当
component2
被放置在
component1
的正上方时,以下代码返回
component2
和
component1
之间放置的空格数:
int gap = getPreferredGap(component1, component2, ComponentPlacement.RELATED, SwingConstants.NORTH, parent);
type
参数指示两个组件之间的关系。如果这两个组件将被包含在同一个父容器中并显示相似的逻辑相关项,则使用
RELATED
。如果这两个组件将被包含在同一个父容器中但显示逻辑不相关项,则使用
UNRELATED
。某些外观不区分
RELATED
和
UNRELATED
类型。
返回值不考虑 component2
或 component1
的当前大小和位置。返回值可能考虑组件的各种属性。例如,空格可能随字体大小或组件首选大小的不同而不同。
component1
-
JComponent
,
component2
将相对于该
JComponent
被放置
component2
- 将被放置的
JComponent
position
-
component2
将相对于
component1
进行放置的位置;
SwingConstants.NORTH
、
SwingConstants.SOUTH
、
SwingConstants.EAST
或
SwingConstants.WEST
之一
type
- 这两个组件将如何放置
parent
-
component2
的父容器;它可能不同于实际的父容器,可能为
null
NullPointerException
- 如果
component1
、
component2
或
type
为
null
IllegalArgumentException
- 如果
position
不是
SwingConstants.NORTH
、
SwingConstants.SOUTH
、
SwingConstants.EAST
或
SwingConstants.WEST
之一
LookAndFeel.getLayoutStyle()
public abstract int getContainerGap(JComponent component, int position, Container parent)
component
- 要放置的
JComponent
position
-
component
将相对于其父容器被放置的位置;
SwingConstants.NORTH
、
SwingConstants.SOUTH
、
SwingConstants.EAST
或
SwingConstants.WEST
之一
parent
-
component
的父容器;它可能不同于实际的父容器,可能为
null
IllegalArgumentException
- 如果
position
不是
SwingConstants.NORTH
、
SwingConstants.SOUTH
、
SwingConstants.EAST
或
SwingConstants.WEST
之一