Class

scalaswingcontrib.group

GroupPanel

Related Doc: package group

Permalink

class GroupPanel extends Panel with GroupLayoutProperties with Delegations with Alignments with Placements with ComponentsInGroups with Groups with Gaps

A panel that uses javax.swing.GroupLayout to visually arrange its components.

The key point to understanding this layout manager is that it separates horizontal and vertical layout. Thus, every component appears twice: once in the horizontal and once in the vertical layout. Consult the Java API documentation for GroupLayout and Sun's Java tutorials for a comprehensive explanation.

The main advantage of using this panel instead of manually tinkering with the layout is that this panel provides a concise, declarative syntax for laying out its components. This approach should make most use cases easier. In some special cases, e.g. when re-creating layouts on-the-fly, it might be preferable to use a more imperative style, for which direct access to the underlying layout manager is provided.

In contrast to the underlying swing layout, this panel activates the automatic creation of gaps between components by default, since this panel is intended for coding UIs "by hand", not so much for visual UI builder tools. Many features of the underlying layout are aimed at those, tough. Most of them are available through this panel for completeness' sake but it is anticipated that coders won't need to use them very much.

Code examples

This section contains a few simple examples to showcase the basic functionality of GroupPanels. For all examples, it is assumed that everything from the package scala.swing is imported and the code is placed inside a scala.swing.SimpleSwingApplication like this:

import swing._

object Example extends SimpleSwingApplication {
  override def top = new MainFrame {
    contents = new GroupPanel {
      // example code here
    }
  }
}

Simple panel with 2 components

In the first example, there's a label and a text field, which appear in a horizontal sequence but share the same vertical space.

val label = new Label("Fnord:")
val textField = new TextField(20)

theHorizontalLayout is Sequential(label, textField)
theVerticalLayout is Parallel(label, textField)

It can be observed that the resize behaviour of the text field is rather strange. To get better behaviour, the components' vertical sizes can be linked together.

linkVerticalSize(label, textField)

Alternatively, it would have been possible to disallow the resizing of the vertical, parallel group. To achieve this, the vertical layout line should be written this way:

theVerticalLayout is Parallel(Leading, FixedSize)(label, textField)

Since text fields aren't resizable when used with baseline alignment (more about that further down), the following code also prevents (vertical) resizing:

theVerticalLayout is Parallel(Baseline)(label, textField)

Size and alignment

Components can be added with custom size constraints (minumum, preferred, maximum size). The next example showcases that. The text field appears with a preferred height of 100 pixels and when the component is resized, it can be shrinked down to its minimum height of 50 pixels and enlarged to its maximum height of 200 pixels.

Note: similar to the methods asBaseline and aligned, the sized(...) method is made available by an implicit conversion. But because type inference does not work well with implicits in this case, the conversion (via the add) method must be done explicitly. The same holds for all the sizing methods for components.

theHorizontalLayout is Sequential(label, textField)
theVerticalLayout is Parallel(label, add(textField).sized(50, 100, 200))

The vigilant reader may have noticed that the sized(...) method does not take integer parameters but rather instances of the type Size. This type, along with some specializations of it, are used to enforce valid values for sizes, which can be pixel sizes greater than or equal to zero or special hints: UseDefault, UsePreferred and Infinite. For convenience, Ints are implicitly converted to pixel sizes where required.

Instead of using these hints, it most of the time is easier to use the provided convenience methods: sized, fixedToDefaultSize, resizable and fullyResizable.

Because the default alignment in a parallel group is Leading, both components are "glued" to the top of the container (panel). To align the label's text with the text inside the text field, an explicit alignment can be specified in a preceding argument list, like this:

theHorizontalLayout is Sequential(label, textField)
theVerticalLayout is Parallel(Baseline)(label, add(textField).sized(50, 100, 200))

This example also shows a potential problem of baseline alignment: some components stop being resizable. More specifically, the javadoc for GroupLayout.ParallelGroup states:

Since a text field's resizing behaviour is CENTER_OFFSET, it is not resizable when used with baseline alignment.

Gaps

The GroupPanel turns on automatic creation of gaps between components and along the container edges. To see the difference, try turning this feature off manually by inserting the following lines:

autoCreateGaps = false
autoCreateContainerGaps = false

With both types of gaps missing, the components are clamped together and to the container edges, which does not look very pleasing. Gaps can be added manually, too. The following example does this in order to get a result that looks similar to the version with automatically created gaps, albeit in a much more verbose manner.

theHorizontalLayout is Sequential(
  ContainerGap(),
  label,
  PreferredGap(Related),
  textField,
  ContainerGap()
)

theVerticalLayout is Sequential(
  ContainerGap(),
  Parallel(label, textField),
  ContainerGap()
)

Rigid gaps with custom size or completely manual gaps (specifying minimum, preferred and maximum size) between components are created with the Gap object:

bc.. theHorizontalLayout is Sequential(
  label,
  Gap(10, 20, 100),
  textField
)

theVerticalLayout is Sequential(
  Parallel(label, Gap(30), textField)
)

In a parallel group, such a gap can be used to specify a minimum amount of space taken by the group.

In addition to rigid gaps in the previous example, it is also possible to specify gaps that resize. This could be done by specifying a maximum size of Infinite. However, for the most commonly used type of these, there is a bit of syntax sugar available with the Spring and ContainerSpring objects.

bc.. theHorizontalLayout is Sequential(
  ContainerGap(),
  label,
  Spring(), // default is Related
  textField,
  ContainerSpring()
)

These create gaps that minimally are as wide as a PreferredGap would be - it is possible to specify whether the Related or Unrelated distance should be used - but can be resized to an arbitrary size.

bc.. theHorizontalLayout is Sequential(
  ContainerGap(),
  label,
  Spring(Unrelated),
  textField,
  ContainerSpring()
)

The preferred size can also be specified more closely (UseDefault or Infinite aka "as large as possible"):

bc.. theHorizontalLayout is Sequential(
  ContainerGap(),
  label,
  Spring(Unrelated, Infinite),
  textField,
  ContainerSpring(Infinite)
)

Please note that PreferredGap, Spring, ContainerGap and ContainerSpring may only be used inside a sequential group.

A dialog with several components

As a last, more sophisticated example, here's the GroupPanel version of the "Find" dialog presented as example for GroupLayout in the Java tutorials by Sun:

val label = new Label("Find what:")
val textField = new TextField
val caseCheckBox = new CheckBox("Match case")
val wholeCheckBox = new CheckBox("Whole words")
val wrapCheckBox = new CheckBox("Wrap around")
val backCheckBox = new CheckBox("Search backwards")
val findButton = new Button("Find")
val cancelButton = new Button("Cancel")

theHorizontalLayout is Sequential(
  label,
  Parallel(
    textField,
    Sequential(
      Parallel(caseCheckBox, wholeCheckBox),
      Parallel(wrapCheckBox, backCheckBox)
    )
  ),
  Parallel(findButton, cancelButton)
)

linkHorizontalSize(findButton, cancelButton)

theVerticalLayout is Sequential(
  Parallel(Baseline)(label, textField, findButton),
  Parallel(
    Sequential(
      Parallel(Baseline)(caseCheckBox, wrapCheckBox),
      Parallel(Baseline)(wholeCheckBox, backCheckBox)
    ),
    cancelButton
  )
)
See also

javax.swing.GroupLayout

Linear Supertypes
Gaps, Groups, BaselineAnchors, Resizing, ComponentsInGroups, SizeTypes, Placements, Alignments, Delegations, GroupLayoutProperties, Panel, Wrapper, Container, Component, UIElement, LazyPublisher, Publisher, Reactor, Proxy, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. GroupPanel
  2. Gaps
  3. Groups
  4. BaselineAnchors
  5. Resizing
  6. ComponentsInGroups
  7. SizeTypes
  8. Placements
  9. Alignments
  10. Delegations
  11. GroupLayoutProperties
  12. Panel
  13. Wrapper
  14. Container
  15. Component
  16. UIElement
  17. LazyPublisher
  18. Publisher
  19. Reactor
  20. Proxy
  21. AnyRef
  22. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new GroupPanel()

    Permalink

Type Members

  1. final class Alignment extends AnyRef

    Permalink

    Represents an alignment of a component (or group) within a parallel group.

    Represents an alignment of a component (or group) within a parallel group.

    Attributes
    protected
    Definition Classes
    Alignments
    See also

    javax.swing.GroupLayout.Alignment

  2. class BaselineAnchor extends AnyRef

    Permalink

    Allows to specify whether to anchor the baseline to the top or the bottom of a baseline-aligned parallel group.

    Allows to specify whether to anchor the baseline to the top or the bottom of a baseline-aligned parallel group.

    Attributes
    protected
    Definition Classes
    BaselineAnchors
  3. class ComponentInGroup[A <: G] extends GroupPanel.InGroup[A] with GroupPanel.SizeHelpers[A]

    Permalink

    Wraps an arbitrary component so that it may appear within a group of type A.

    Wraps an arbitrary component so that it may appear within a group of type A.

    Attributes
    protected
    Definition Classes
    ComponentsInGroups
  4. class ComponentInParallel extends GroupPanel.InParallel with GroupPanel.SizeHelpers[ParallelGroup]

    Permalink

    Wraps a GUI component so that it may appear in a parallel group.

    Wraps a GUI component so that it may appear in a parallel group.

    Attributes
    protected
    Definition Classes
    ComponentsInGroups
    See also

    javax.swing.GroupLayout.ParallelGroup

  5. class ComponentInSequential extends GroupPanel.InSequential with GroupPanel.SizeHelpers[SequentialGroup]

    Permalink

    Wraps a GUI component so that it may appear in a sequential group.

    Wraps a GUI component so that it may appear in a sequential group.

    Attributes
    protected
    Definition Classes
    ComponentsInGroups
    See also

    javax.swing.GroupLayout.SequentialGroup

  6. class ComponentWithSize[A <: G] extends GroupPanel.InGroup[A]

    Permalink

    Wraps an arbitrary component to allow for custom size constraints.

    Wraps an arbitrary component to allow for custom size constraints.

    Attributes
    protected
    Definition Classes
    ComponentsInGroups
  7. class Content extends BufferWrapper[Component]

    Permalink
    Attributes
    protected
    Definition Classes
    Wrapper
  8. sealed trait GapSize extends Size

    Permalink

    Pixel size and Infinite.

    Pixel size and Infinite. Used to specify the size of a Gap.

    Attributes
    protected
    Definition Classes
    SizeTypes
  9. trait Group extends AnyRef

    Permalink

    A group of components, either parallel or sequential.

    A group of components, either parallel or sequential.

    Attributes
    protected
    Definition Classes
    Groups
  10. class GroupInParallel extends GroupPanel.InParallel

    Permalink

    Wraps a group of components to extend it with actions only allowed inside a parallel group.

    Wraps a group of components to extend it with actions only allowed inside a parallel group.

    Attributes
    protected
    Definition Classes
    Groups
    See also

    javax.swing.GroupLayout.ParallelGroup

  11. class GroupInSequential extends GroupPanel.InSequential

    Permalink

    Wraps a group of components to extend it with actions only allowed inside a sequential group.

    Wraps a group of components to extend it with actions only allowed inside a sequential group.

    Attributes
    protected
    Definition Classes
    Groups
    See also

    javax.swing.GroupLayout.SequentialGroup

  12. trait InGroup[A <: G] extends AnyRef

    Permalink

    Elements with this trait may only appear in groups corresponding to the type A.

    Elements with this trait may only appear in groups corresponding to the type A.

    A

    the type of the group: sequential, parallel or both

    Attributes
    protected
    Definition Classes
    Groups
  13. sealed class Placement extends AnyRef

    Permalink

    Specifies how two components are placed relative to each other.

    Specifies how two components are placed relative to each other.

    Attributes
    protected
    Definition Classes
    Placements
    See also

    javax.swing.LayoutStyle.ComponentPlacement

  14. sealed trait PreferredGapSize extends Size

    Permalink

    Pixel size, UseDefault and Infinite.

    Pixel size, UseDefault and Infinite. Used to specify the preffered size of PreferredGaps and ContainerGaps.

    Attributes
    protected
    Definition Classes
    SizeTypes
  15. final class RelatedOrUnrelated extends Placement

    Permalink

    Specifies if two components are related or not.

    Specifies if two components are related or not.

    Attributes
    protected
    Definition Classes
    Placements
    See also

    javax.swing.LayoutStyle.ComponentPlacement

  16. class Resizability extends AnyRef

    Permalink

    Allows to specify whether a parallel group should be resizable or of fixed size.

    Allows to specify whether a parallel group should be resizable or of fixed size.

    Attributes
    protected
    Definition Classes
    Resizing
  17. sealed trait Size extends AnyRef

    Permalink

    Pixel size and all size hints.

    Pixel size and all size hints. Used to specify sizes of a component and the maximum size of PreferredGaps and ContainerGaps.

    Attributes
    protected
    Definition Classes
    SizeTypes
  18. trait SuperMixin extends JComponent

    Permalink
    Attributes
    protected
    Definition Classes
    Component

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final val AnchorToBottom: BaselineAnchor

    Permalink

    Anchor the baseline to the bottom of the group.

    Anchor the baseline to the bottom of the group.

    Definition Classes
    BaselineAnchors
  5. final val AnchorToTop: BaselineAnchor

    Permalink

    Anchor the baseline to the top of the group.

    Anchor the baseline to the top of the group.

    Definition Classes
    BaselineAnchors
  6. final val Baseline: Alignment

    Permalink

    Elements are aligned along their baseline.

    Elements are aligned along their baseline. Only valid along the vertical axis.

    Definition Classes
    Alignments
  7. final val Center: Alignment

    Permalink

    Elements are centered inside the group.

    Elements are centered inside the group.

    Definition Classes
    Alignments
  8. object ContainerGap

    Permalink

    A manual gap between a component and a container (or group) edge.

    A manual gap between a component and a container (or group) edge. Only valid inside a sequential group.

    Attributes
    protected
    Definition Classes
    Gaps
  9. object ContainerSpring

    Permalink

    A gap between a component and a container (or group) edge that acts like a spring, pushing the element away from the edge.

    A gap between a component and a container (or group) edge that acts like a spring, pushing the element away from the edge.

    Attributes
    protected
    Definition Classes
    Gaps
  10. final val FixedSize: Resizability

    Permalink

    The corresponding parallel group should be of fixed size.

    The corresponding parallel group should be of fixed size.

    Definition Classes
    Resizing
  11. object Gap

    Permalink

    A manual gap between two components.

    A manual gap between two components.

    Attributes
    protected
    Definition Classes
    Gaps
  12. final val Indent: Placement

    Permalink

    Used to request the (horizontal) indentation of a component that is positioned underneath another component.

    Used to request the (horizontal) indentation of a component that is positioned underneath another component.

    Definition Classes
    Placements
  13. final val Infinite: Size with GapSize with PreferredGapSize

    Permalink

    Represents an arbitrarily large size.

    Represents an arbitrarily large size.

    Definition Classes
    SizeTypes
  14. final val Leading: Alignment

    Permalink

    Elements are anchored to the leading edge (origin) of the group.

    Elements are anchored to the leading edge (origin) of the group.

    Definition Classes
    Alignments
  15. object Parallel

    Permalink

    Declares a parallel group, i.e.

    Declares a parallel group, i.e. a group whose child components share the same space. Because some components may (and will) be bigger than others, an alignment can be specified to resolve placement of the components relative to each other.

    Attributes
    protected
    Definition Classes
    Groups
    See also

    GroupLayout.ParallelGroup

  16. object PreferredGap

    Permalink

    A gap between two components with a size that is defined by the LayoutStyle used, depending on the relationship between the components.

    A gap between two components with a size that is defined by the LayoutStyle used, depending on the relationship between the components.

    Attributes
    protected
    Definition Classes
    Gaps
  17. final val Related: RelatedOrUnrelated

    Permalink

    Used to request the distance between two visually related components.

    Used to request the distance between two visually related components.

    Definition Classes
    Placements
  18. final val Resizable: Resizability

    Permalink

    The corresponding parallel group should be resizable.

    The corresponding parallel group should be resizable.

    Definition Classes
    Resizing
  19. object Sequential

    Permalink

    Declares a sequential group, i.e.

    Declares a sequential group, i.e. a group whose child components appear one after another within the available space.

    Attributes
    protected
    Definition Classes
    Groups
    See also

    GroupLayout.SequentialGroup

  20. object Spring

    Permalink

    A gap between two components that acts like a spring, pushing the two elements away from each other.

    A gap between two components that acts like a spring, pushing the two elements away from each other.

    Attributes
    protected
    Definition Classes
    Gaps
  21. final val Trailing: Alignment

    Permalink

    Elements are anchored to the trailing edge (end) of the group.

    Elements are anchored to the trailing edge (end) of the group.

    Definition Classes
    Alignments
  22. final val Unrelated: RelatedOrUnrelated

    Permalink

    Used to request the distance between two visually unrelated components.

    Used to request the distance between two visually unrelated components.

    Definition Classes
    Placements
  23. final val UseDefault: Size with PreferredGapSize

    Permalink

    Instructs the layout to use a component's default size.

    Instructs the layout to use a component's default size.

    Definition Classes
    SizeTypes
  24. final val UsePreferred: Size

    Permalink

    Instructs the layout to use a component's preferred size.

    Instructs the layout to use a component's preferred size.

    Definition Classes
    SizeTypes
  25. val _contents: Content

    Permalink
    Attributes
    protected
    Definition Classes
    Wrapper
  26. implicit final def add[A <: G](comp: Component): ComponentInGroup[A]

    Permalink

    Implicit conversion that puts a component into the correct context on demand.

    Implicit conversion that puts a component into the correct context on demand.

    Attributes
    protected
    Definition Classes
    ComponentsInGroups
  27. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  28. def autoCreateContainerGaps: Boolean

    Permalink

    Indicates whether gaps between components and the container borders are automatically created.

    Indicates whether gaps between components and the container borders are automatically created.

    Definition Classes
    GroupLayoutProperties
  29. def autoCreateContainerGaps_=(flag: Boolean): Unit

    Permalink

    Sets whether gaps between components and the container borders are automatically created.

    Sets whether gaps between components and the container borders are automatically created.

    Definition Classes
    GroupLayoutProperties
  30. def autoCreateGaps: Boolean

    Permalink

    Indicates whether gaps between components are automatically created.

    Indicates whether gaps between components are automatically created.

    Definition Classes
    GroupLayoutProperties
  31. def autoCreateGaps_=(flag: Boolean): Unit

    Permalink

    Sets whether gaps between components are automatically created.

    Sets whether gaps between components are automatically created.

    Definition Classes
    GroupLayoutProperties
  32. def background: Color

    Permalink
    Definition Classes
    UIElement
  33. def background_=(c: Color): Unit

    Permalink
    Definition Classes
    UIElement
  34. def border: Border

    Permalink
    Definition Classes
    Component
  35. def border_=(b: Border): Unit

    Permalink
    Definition Classes
    Component
  36. def bounds: Rectangle

    Permalink
    Definition Classes
    UIElement
  37. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  38. def componentOrientation: ComponentOrientation

    Permalink
    Definition Classes
    UIElement
  39. def componentOrientation_=(x: ComponentOrientation): Unit

    Permalink
    Definition Classes
    UIElement
  40. def contents: Seq[Component]

    Permalink
    Definition Classes
    Wrapper → Container
  41. def cursor: Cursor

    Permalink
    Definition Classes
    UIElement
  42. def cursor_=(c: Cursor): Unit

    Permalink
    Definition Classes
    UIElement
  43. def deafTo(ps: Publisher*): Unit

    Permalink
    Definition Classes
    Reactor
  44. def displayable: Boolean

    Permalink
    Definition Classes
    UIElement
  45. def enabled: Boolean

    Permalink
    Definition Classes
    Component
  46. def enabled_=(b: Boolean): Unit

    Permalink
    Definition Classes
    Component
  47. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  48. def equals(that: Any): Boolean

    Permalink
    Definition Classes
    Proxy → Any
  49. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  50. def focusable: Boolean

    Permalink
    Definition Classes
    Component
  51. def focusable_=(b: Boolean): Unit

    Permalink
    Definition Classes
    Component
  52. def font: Font

    Permalink
    Definition Classes
    UIElement
  53. def font_=(f: Font): Unit

    Permalink
    Definition Classes
    UIElement
  54. def foreground: Color

    Permalink
    Definition Classes
    UIElement
  55. def foreground_=(c: Color): Unit

    Permalink
    Definition Classes
    UIElement
  56. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  57. implicit final def groupInParallel(grp: Group): GroupInParallel

    Permalink

    Implicit conversion that puts a group into the correct context on demand.

    Implicit conversion that puts a group into the correct context on demand.

    Attributes
    protected
    Definition Classes
    Groups
  58. implicit final def groupInSequential(grp: Group): GroupInSequential

    Permalink

    Implicit conversion that puts a group into the correct context on demand.

    Implicit conversion that puts a group into the correct context on demand.

    Attributes
    protected
    Definition Classes
    Groups
  59. def hasFocus: Boolean

    Permalink
    Definition Classes
    Component
  60. def hashCode(): Int

    Permalink
    Definition Classes
    Proxy → Any
  61. def honorVisibilityOf(comp: Component): Unit

    Permalink

    The component will not take up any space when it's invisible (default).

    The component will not take up any space when it's invisible (default).

    Definition Classes
    Delegations
  62. def honorsVisibility: Boolean

    Permalink

    Indicates whether the visibilty of components is considered for the layout.

    Indicates whether the visibilty of components is considered for the layout. If set to false, invisible components still take up space. Defaults to true.

    Definition Classes
    GroupLayoutProperties
  63. def honorsVisibility_=(flag: Boolean): Unit

    Permalink

    Sets whether the visibilty of components should be considered for the layout.

    Sets whether the visibilty of components should be considered for the layout. If set to false, invisible components still take up space. Defaults to true.

    Definition Classes
    GroupLayoutProperties
  64. def ignoreRepaint: Boolean

    Permalink
    Definition Classes
    UIElement
  65. def ignoreRepaint_=(b: Boolean): Unit

    Permalink
    Definition Classes
    UIElement
  66. def ignoreVisibilityOf(comp: Component): Unit

    Permalink

    The component will still take up its space even when invisible.

    The component will still take up its space even when invisible.

    Definition Classes
    Delegations
  67. def inputVerifier: (Component) ⇒ Boolean

    Permalink
    Definition Classes
    Component
  68. def inputVerifier_=(v: (Component) ⇒ Boolean): Unit

    Permalink
    Definition Classes
    Component
  69. implicit def int2Size(pixels: Int): Size with GapSize with PreferredGapSize

    Permalink

    Implicitly converts an Int to a Size object when needed.

    Implicitly converts an Int to a Size object when needed.

    pixels

    a size in pixels; must be >= 0

    Attributes
    protected
    Definition Classes
    SizeTypes
  70. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  71. val layout: GroupLayout

    Permalink

    This panel's underlying layout manager.

    This panel's underlying layout manager.

    Definition Classes
    GroupPanelDelegationsGroupLayoutProperties
  72. def layoutStyle: LayoutStyle

    Permalink

    Returns the layout style used.

    Returns the layout style used.

    Definition Classes
    GroupLayoutProperties
  73. def layoutStyle_=(style: LayoutStyle): Unit

    Permalink

    Assigns a layout style to use.

    Assigns a layout style to use.

    Definition Classes
    GroupLayoutProperties
  74. def linkHorizontalSize(comps: Component*): Unit

    Permalink

    Links the sizes of several components horizontally.

    Links the sizes of several components horizontally.

    comps

    the components to link

    Definition Classes
    Delegations
  75. def linkSize(comps: Component*): Unit

    Permalink

    Links the sizes (horizontal and vertical) of several components.

    Links the sizes (horizontal and vertical) of several components.

    comps

    the components to link

    Definition Classes
    Delegations
  76. def linkVerticalSize(comps: Component*): Unit

    Permalink

    Links the sizes of several components vertically.

    Links the sizes of several components vertically.

    comps

    the components to link

    Definition Classes
    Delegations
  77. def listenTo(ps: Publisher*): Unit

    Permalink
    Definition Classes
    Reactor
  78. val listeners: RefSet[Reaction]

    Permalink
    Attributes
    protected
    Definition Classes
    Publisher
  79. def locale: Locale

    Permalink
    Definition Classes
    UIElement
  80. def location: Point

    Permalink
    Definition Classes
    UIElement
  81. def locationOnScreen: Point

    Permalink
    Definition Classes
    UIElement
  82. def maximumSize: Dimension

    Permalink
    Definition Classes
    UIElement
  83. def maximumSize_=(x: Dimension): Unit

    Permalink
    Definition Classes
    UIElement
  84. def minimumSize: Dimension

    Permalink
    Definition Classes
    UIElement
  85. def minimumSize_=(x: Dimension): Unit

    Permalink
    Definition Classes
    UIElement
  86. def name: String

    Permalink
    Definition Classes
    Component
  87. def name_=(s: String): Unit

    Permalink
    Definition Classes
    Component
  88. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  89. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  90. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  91. def onFirstSubscribe(): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Component → UIElement → LazyPublisher
  92. def onLastUnsubscribe(): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    UIElement → LazyPublisher
  93. def opaque: Boolean

    Permalink
    Definition Classes
    Component
  94. def opaque_=(b: Boolean): Unit

    Permalink
    Definition Classes
    Component
  95. def paint(g: Graphics2D): Unit

    Permalink
    Definition Classes
    Component
  96. def paintBorder(g: Graphics2D): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Component
  97. def paintChildren(g: Graphics2D): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Component
  98. def paintComponent(g: Graphics2D): Unit

    Permalink
    Attributes
    protected
    Definition Classes
    Component
  99. lazy val peer: JPanel

    Permalink

    The swing JPanel wrapped by this GroupPanel.

    The swing JPanel wrapped by this GroupPanel.

    Definition Classes
    GroupPanel → Panel → Wrapper → Component → UIElement
  100. def preferredSize: Dimension

    Permalink
    Definition Classes
    UIElement
  101. def preferredSize_=(x: Dimension): Unit

    Permalink
    Definition Classes
    UIElement
  102. def publish(e: Event): Unit

    Permalink
    Definition Classes
    Publisher
  103. val reactions: Reactions

    Permalink
    Definition Classes
    Reactor
  104. def repaint(rect: Rectangle): Unit

    Permalink
    Definition Classes
    UIElement
  105. def repaint(): Unit

    Permalink
    Definition Classes
    UIElement
  106. def replace(existing: Component, replacement: Component): Unit

    Permalink

    Replaces one component with another.

    Replaces one component with another. Great for dynamic layouts.

    existing

    the component to be replaced

    replacement

    the component replacing the existing one

    Definition Classes
    Delegations
  107. def requestFocus(): Unit

    Permalink
    Definition Classes
    Component
  108. def requestFocusInWindow(): Boolean

    Permalink
    Definition Classes
    Component
  109. def revalidate(): Unit

    Permalink
    Definition Classes
    Component
  110. def self: Any

    Permalink
    Definition Classes
    UIElement → Proxy
  111. def showing: Boolean

    Permalink
    Definition Classes
    UIElement
  112. def size: Dimension

    Permalink
    Definition Classes
    UIElement
  113. def subscribe(listener: Reaction): Unit

    Permalink
    Definition Classes
    LazyPublisher → Publisher
  114. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  115. val theHorizontalLayout: AnyRef { def is(group: GroupPanel.this.Group): Unit }

    Permalink

    Starting point for the horizontal layout.

  116. val theVerticalLayout: AnyRef { def is(group: GroupPanel.this.Group): Unit }

    Permalink

    Starting point for the vertical layout.

  117. def toString(): String

    Permalink
    Definition Classes
    Component → Proxy → AnyRef → Any
  118. def toolkit: Toolkit

    Permalink
    Definition Classes
    UIElement
  119. def tooltip: String

    Permalink
    Definition Classes
    Component
  120. def tooltip_=(t: String): Unit

    Permalink
    Definition Classes
    Component
  121. def unsubscribe(listener: Reaction): Unit

    Permalink
    Definition Classes
    LazyPublisher → Publisher
  122. def validate(): Unit

    Permalink
    Definition Classes
    UIElement
  123. def visible: Boolean

    Permalink
    Definition Classes
    UIElement
  124. def visible_=(b: Boolean): Unit

    Permalink
    Definition Classes
    UIElement
  125. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  126. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  127. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  128. def xLayoutAlignment: Double

    Permalink
    Definition Classes
    Component
  129. def xLayoutAlignment_=(x: Double): Unit

    Permalink
    Definition Classes
    Component
  130. def yLayoutAlignment: Double

    Permalink
    Definition Classes
    Component
  131. def yLayoutAlignment_=(y: Double): Unit

    Permalink
    Definition Classes
    Component

Inherited from Gaps

Inherited from Groups

Inherited from BaselineAnchors

Inherited from Resizing

Inherited from ComponentsInGroups

Inherited from SizeTypes

Inherited from Placements

Inherited from Alignments

Inherited from Delegations

Inherited from GroupLayoutProperties

Inherited from Panel

Inherited from Wrapper

Inherited from Container

Inherited from Component

Inherited from UIElement

Inherited from LazyPublisher

Inherited from Publisher

Inherited from Reactor

Inherited from Proxy

Inherited from AnyRef

Inherited from Any

Ungrouped