O1Library Docs
Fall 2023
Docs API

# EasyLayout

o1.gui.layout.EasyLayout
trait EasyLayout extends LayoutContainer

The methods on this trait make it easier to place elements in a Swing container.

NOTE TO STUDENTS: In this course, you don’t need to understand how this trait works or can be used.

## Attributes

Graph
Supertypes
  trait LayoutContainer
  trait Wrapper
  trait Container
  trait UIElement
  trait Publisher
  trait Reactor
  trait Proxy
  class Object
  trait Matchable
  class Any
  Show all
Known subtypes
  trait EasyPanel

## Members list

### Type members

#### Inherited classlikes

protected class Content extends BufferWrapper[Component]

## Attributes

Inherited from:
  Wrapper
Supertypes
  class BufferWrapper[Component]
  trait Buffer[Component]
  trait Shrinkable[Component]
  trait Growable[Component]
  trait Clearable
  trait Seq[Component]
  trait SeqOps[Component, Buffer, Buffer[Component]]
  trait Cloneable[Buffer[Component]]
  trait Cloneable
  trait Seq[Component]
  trait Equals
  trait SeqOps[Component, Buffer, Buffer[Component]]
  trait PartialFunction[Int, Component]
  trait Int => Component
  trait Iterable[Component]
  trait Iterable[Component]
  trait IterableFactoryDefaults[Component, Buffer]
  trait IterableOps[Component, Buffer, Buffer[Component]]
  trait IterableOnceOps[Component, Buffer, Buffer[Component]]
  trait IterableOnce[Component]
  class Object
  trait Matchable
  class Any
  Show all

#### Inherited types

type Constraints <: AnyRef

The type of component constraints for this container.

The type of component constraints for this container.

## Attributes

Inherited from:
  LayoutContainer

### Value members

#### Abstract methods

def constraintsFor(component: Component, xy: (Int, Int), size: (Int, Int), anchor: Anchor, fill: Fill, border: (Int, Int, Int, Int)): Constraints

#### Concrete methods

def place(component: Component, xy: (Int, Int), size: (Int, Int), anchor: Anchor, fill: Fill, border: (Int, Int, Int, Int)): Unit
def placeC(component: Component, xy: (Int, Int), size: (Int, Int), fill: Fill, border: (Int, Int, Int, Int)): Unit
def placeE(component: Component, xy: (Int, Int), size: (Int, Int), fill: Fill, border: (Int, Int, Int, Int)): Unit
def placeN(component: Component, xy: (Int, Int), size: (Int, Int), fill: Fill, border: (Int, Int, Int, Int)): Unit
def placeNE(component: Component, xy: (Int, Int), size: (Int, Int), fill: Fill, border: (Int, Int, Int, Int)): Unit
def placeNW(component: Component, xy: (Int, Int), size: (Int, Int), fill: Fill, border: (Int, Int, Int, Int)): Unit
def placeS(component: Component, xy: (Int, Int), size: (Int, Int), fill: Fill, border: (Int, Int, Int, Int)): Unit
def placeSE(component: Component, xy: (Int, Int), size: (Int, Int), fill: Fill, border: (Int, Int, Int, Int)): Unit
def placeSW(component: Component, xy: (Int, Int), size: (Int, Int), fill: Fill, border: (Int, Int, Int, Int)): Unit
def placeW(component: Component, xy: (Int, Int), size: (Int, Int), fill: Fill, border: (Int, Int, Int, Int)): Unit

#### Inherited methods

protected def add(comp: Component, c: Constraints): Unit

Adds a component with the given constraints to the underlying layout manager and the component peer. This method needs to interact properly with method `constraintsFor`, i.e., it might need to remove previously held components in order to maintain layout consistency. See `BorderPanel` for an example.

Adds a component with the given constraints to the underlying layout manager and the component peer. This method needs to interact properly with method `constraintsFor`, i.e., it might need to remove previously held components in order to maintain layout consistency. See `BorderPanel` for an example.

## Attributes

Inherited from:
  LayoutContainer

protected def areValid(c: Constraints): (Boolean, String)

Checks whether the given constraints are valid. Additionally returns an error string that is only fetched if the constraints aren't valid.

Checks whether the given constraints are valid. Additionally returns an error string that is only fetched if the constraints aren't valid.

## Attributes

Inherited from:
  LayoutContainer

def background: Color

## Attributes

Inherited from:
  UIElement

def background_=(c: Color): Unit

## Attributes

Inherited from:
  UIElement

def bounds: Rectangle

## Attributes

Inherited from:
  UIElement

def componentOrientation: ComponentOrientation

## Attributes

Inherited from:
  UIElement

def componentOrientation_=(x: ComponentOrientation): Unit

## Attributes

Inherited from:
  UIElement

protected def constraintsFor(c: Component): Constraints

Obtains the constraints for the given component from the underlying Swing layout manager.

Obtains the constraints for the given component from the underlying Swing layout manager.

## Attributes

Inherited from:
  LayoutContainer

def contents: Seq[Component]

The child components of this container.

The child components of this container.

## Attributes

Inherited from:
  Wrapper

def cursor: Cursor

## Attributes

Inherited from:
  UIElement

def cursor_=(c: Cursor): Unit

## Attributes

Inherited from:
  UIElement

def deafTo(ps: Publisher*): Unit

Installed reaction won't receive events from the given publisher anylonger.

Installed reaction won't receive events from the given publisher anylonger.

## Attributes

Inherited from:
  Reactor

def displayable: Boolean

## Attributes

Inherited from:
  UIElement

override def equals(that: Any): Boolean

Compares the receiver object (`this`) with the argument object (`that`) for equivalence.

Compares the receiver object (`this`) with the argument object (`that`) for equivalence.

Any implementation of this method should be an equivalence relation:

- It is reflexive: for any instance `x` of type `Any`, `x.equals(x)` should return `true`.
- It is symmetric: for any instances `x` and `y` of type `Any`, `x.equals(y)` should return `true` if and only if `y.equals(x)` returns `true`.
- It is transitive: for any instances `x`, `y`, and `z` of type `Any` if `x.equals(y)` returns `true` and `y.equals(z)` returns `true`, then `x.equals(z)` should return `true`.

If you override this method, you should verify that your implementation remains an equivalence relation. Additionally, when overriding this method it is usually necessary to override `hashCode` to ensure that objects which are "equal" (`o1.equals(o2)` returns `true`) hash to the same scala.Int. (`o1.hashCode.equals(o2.hashCode)`).

## Parameters

that

  the object to compare against this object for equality.

## Attributes

Returns

  `true` if the receiver object is equivalent to the argument; `false` otherwise.

Definition Classes
  Proxy -> Any
Inherited from:
  Proxy

def font: Font

## Attributes

Inherited from:
  UIElement

def font_=(f: Font): Unit

## Attributes

Inherited from:
  UIElement

def foreground: Color

## Attributes

Inherited from:
  UIElement

def foreground_=(c: Color): Unit

## Attributes

Inherited from:
  UIElement

override def hashCode(): Int

Calculate a hash code value for the object.

Calculate a hash code value for the object.

The default hashing algorithm is platform dependent.

Note that it is allowed for two objects to have identical hash codes (`o1.hashCode.equals(o2.hashCode)`) yet not be equal (`o1.equals(o2)` returns `false`). A degenerate implementation could always return `0`. However, it is required that if two objects are equal (`o1.equals(o2)` returns `true`) that they have identical hash codes (`o1.hashCode.equals(o2.hashCode)`). Therefore, when overriding this method, be sure to verify that the behavior is consistent with the `equals` method.

## Attributes

Returns

  the hash code value for this object.

Definition Classes
  Proxy -> Any
Inherited from:
  Proxy

def ignoreRepaint: Boolean

## Attributes

Inherited from:
  UIElement

def ignoreRepaint_=(b: Boolean): Unit

## Attributes

Inherited from:
  UIElement

def layout: Map[Component, Constraints]

A map of components to the associated layout constraints. Any element in this map is automatically added to the contents of this panel. Therefore, specifying the layout of a component via

A map of components to the associated layout constraints. Any element in this map is automatically added to the contents of this panel. Therefore, specifying the layout of a component via

layout(myComponent) = myConstraints

also ensures that myComponent is properly added to this container.

## Attributes

Inherited from:
  LayoutContainer

def listenTo(ps: Publisher*): Unit

Listen to the given publisher as long as `deafTo` isn't called for them.

Listen to the given publisher as long as `deafTo` isn't called for them.

## Attributes

Inherited from:
  Reactor

def locale: Locale

## Attributes

Inherited from:
  UIElement

def location: Point

## Attributes

Inherited from:
  UIElement

def locationOnScreen: Point

## Attributes

Inherited from:
  UIElement

def maximumSize: Dimension

## Attributes

Inherited from:
  UIElement

def maximumSize_=(x: Dimension): Unit

## Attributes

Inherited from:
  UIElement

def minimumSize: Dimension

## Attributes

Inherited from:
  UIElement

def minimumSize_=(x: Dimension): Unit

## Attributes

Inherited from:
  UIElement

override def peer: JComponent

The underlying Swing peer.

The underlying Swing peer.

## Attributes

Definition Classes
  Wrapper -> UIElement
Inherited from:
  Wrapper

def preferredSize: Dimension

## Attributes

Inherited from:
  UIElement

def preferredSize_=(x: Dimension): Unit

## Attributes

Inherited from:
  UIElement

def publish(e: Event): Unit

Notify all registered reactions.

Notify all registered reactions.

## Attributes

Inherited from:
  Publisher

def repaint(rect: Rectangle): Unit

## Attributes

Inherited from:
  UIElement

def repaint(): Unit

## Attributes

Inherited from:
  UIElement

def self: Any

## Attributes

Inherited from:
  UIElement

def showing: Boolean

## Attributes

Inherited from:
  UIElement

def size: Dimension

## Attributes

Inherited from:
  UIElement

override def subscribe(listener: Reaction): Unit

## Attributes

Definition Classes
  LazyPublisher -> Publisher
Inherited from:
  LazyPublisher (hidden)

override def toString(): String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

## Attributes

Returns

  a string representation of the object.

Definition Classes
  Proxy -> Any
Inherited from:
  Proxy

def toolkit: Toolkit

## Attributes

Inherited from:
  UIElement

override def unsubscribe(listener: Reaction): Unit

## Attributes

Definition Classes
  LazyPublisher -> Publisher
Inherited from:
  LazyPublisher (hidden)

def validate(): Unit

## Attributes

Inherited from:
  UIElement

def visible: Boolean

## Attributes

Inherited from:
  UIElement

def visible_=(b: Boolean): Unit

## Attributes

Inherited from:
  UIElement

#### Inherited fields

protected val _contents: Content

## Attributes

Inherited from:
  Wrapper

protected val listeners: RefSet[Reaction]

## Attributes

Inherited from:
  Publisher

val reactions: Reactions

All reactions of this reactor.

All reactions of this reactor.

## Attributes

Inherited from:
  Reactor