Module java.desktop
Package javax.swing

Class LayoutStyle

java.lang.Object
javax.swing.LayoutStyle

public abstract class LayoutStyle extends Object
LayoutStyle 提供有关如何定位组件的信息。此类主要适用于可视化工具和布局管理器。大多数开发人员不需要使用此类。

通常情况下,您不会设置或创建 LayoutStyle。而是使用静态方法 getInstance 来获取当前实例。

自版本:
1.6
  • Constructor Details

    • LayoutStyle

      public LayoutStyle()
      创建一个新的 LayoutStyle。通常情况下,您不会创建 LayoutStyle。而是使用方法 getInstance 来获取当前的 LayoutStyle
  • Method Details

    • setInstance

      public static void setInstance(LayoutStyle style)
      设置 LayoutStyle 的共享实例。指定 null 将使用当前 LookAndFeel 中的 LayoutStyle
      参数:
      style - LayoutStyle,或 null
      参见:
    • getInstance

      public static LayoutStyle getInstance()
      返回 LayoutStyle 的共享实例。如果在 setInstance 中未指定实例,则将返回当前 LookAndFeel 中的 LayoutStyle
      返回:
      LayoutStyle 的共享实例
      参见:
    • getPreferredGap

      public abstract int getPreferredGap(JComponent component1, JComponent component2, LayoutStyle.ComponentPlacement type, int position, Container parent)
      返回两个组件之间要使用的空间量。返回值指示要相对于 component1 放置 component2 的距离。例如,以下示例返回在将 component2 垂直放置在 component1 之上时,要放置在 component2component1 之间的空间量:
         int gap = getPreferredGap(component1, component2,
                                   ComponentPlacement.RELATED,
                                   SwingConstants.NORTH, parent);
       
      type 参数指示两个组件之间的关系。如果两个组件将包含在同一个父级中,并显示类似逻辑相关的项目,请使用 RELATED。如果两个组件将包含在同一个父级中,但显示逻辑上不相关的项目,请使用 UNRELATED。某些外观可能不区分 RELATEDUNRELATED 类型。

      返回值不打算考虑 component2component1 的当前大小和位置。返回值可能会考虑组件的各种属性。例如,空间可能会根据字体大小或组件的首选大小而变化。

      参数:
      component1 - 要相对放置 component2JComponent
      component2 - 要放置的 JComponent
      type - 两个组件的放置方式
      position - component2 相对于 component1 被放置的位置;其中之一为 SwingConstants.NORTHSwingConstants.SOUTHSwingConstants.EASTSwingConstants.WEST
      parent - component2 的父级;这可能与实际父级不同,也可能为 null
      返回:
      两个组件之间要放置的空间量
      抛出:
      NullPointerException - 如果 component1component2typenull
      IllegalArgumentException - 如果 position 不是 SwingConstants.NORTHSwingConstants.SOUTHSwingConstants.EASTSwingConstants.WEST 之一
      自版本:
      1.6
      参见:
    • getContainerGap

      public abstract int getContainerGap(JComponent component, int position, Container parent)
      返回要放置在组件和其父级指定边缘之间的空间量。
      参数:
      component - 要定位的 JComponent
      position - component 相对于其父级被放置的位置;其中之一为 SwingConstants.NORTHSwingConstants.SOUTHSwingConstants.EASTSwingConstants.WEST
      parent - component 的父级;这可能与实际父级不同,也可能为 null
      返回:
      要放置在组件和指定边缘之间的空间量
      抛出:
      IllegalArgumentException - 如果 position 不是 SwingConstants.NORTHSwingConstants.SOUTHSwingConstants.EASTSwingConstants.WEST 之一