Robots Docs
Fall 2025
API

# RobotWindow

o1.robots.gui.RobotWindow
open class RobotWindow extends MainFrame, Escapable

The class `RobotWindow` represents GUI windows that serve as the main window of a RobotApp. NOTE TO STUDENTS: In this course, you don’t need to understand how this class works or can be used.

## Attributes

Graph
Supertypes
  trait Escapable
  class MainFrame
  class Frame
  trait RichWindow
  class Window
  trait RootPanel
  trait Container
  trait UIElement
  trait Publisher
  trait Reactor
  trait Proxy
  class Object
  trait Matchable
  class Any
  Show all

## Members list

### Type members

#### Inherited classlikes

protected trait InterfaceMixin extends RootPaneContainer

## Attributes

Inherited from:
  Window
Supertypes
  trait RootPaneContainer
  class Object
  trait Matchable
  class Any
Known subtypes
  trait InterfaceMixin2

trait InterfaceMixin2 extends InterfaceMixin

## Attributes

Inherited from:
  RichWindow
Supertypes
  trait InterfaceMixin
  trait RootPaneContainer
  class Object
  trait Matchable
  class Any

protected trait SuperMixin extends Window

## Attributes

Inherited from:
  Window
Supertypes
  class Window
  trait Accessible
  class Container
  class Component
  trait Serializable
  trait MenuContainer
  trait ImageObserver
  class Object
  trait Matchable
  class Any
  Show all

### Value members

#### Concrete methods

def displayWorld(`world`: RobotWorld): RobotWindow
def focusButton: Button
def update(`world`: RobotWorld): Unit

#### Inherited methods

def background: Color

## Attributes

Inherited from:
  UIElement

def background_=(c: Color): Unit

## Attributes

Inherited from:
  UIElement

def bounds: Rectangle

## Attributes

Inherited from:
  UIElement

def bounds_=(rect: Rectangle): Unit

## Attributes

Inherited from:
  Window

def centerOnScreen(): Unit

## Attributes

Inherited from:
  Window

def close(): Unit

## Attributes

Inherited from:
  Window

override def closeOperation(): Unit

This method is called when the window is closing, after all other window event listeners have been processed.

This method is called when the window is closing, after all other window event listeners have been processed.

## Attributes

Definition Classes
  MainFrame -> Window
Inherited from:
  MainFrame

def componentOrientation: ComponentOrientation

## Attributes

Inherited from:
  UIElement

def componentOrientation_=(x: ComponentOrientation): Unit

## Attributes

Inherited from:
  UIElement

def contents: Seq[Component]

At most one component.

At most one component.

## Attributes

Inherited from:
  RootPanel

override def contents_=(c: Component): Unit

## Attributes

Definition Classes
  Window -> RootPanel
Inherited from:
  Window

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 defaultButton: Option[Button]

## Attributes

Inherited from:
  Window

def defaultButton_=(b: Option[Button]): Unit

## Attributes

Inherited from:
  Window

def defaultButton_=(b: Button): Unit

## Attributes

Inherited from:
  Window

def displayable: Boolean

## Attributes

Inherited from:
  UIElement

def dispose(): Unit

## Attributes

Inherited from:
  Window

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

Calculates a hash code value for the object.

Calculates 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 iconImage: Image

## Attributes

Inherited from:
  Frame

def iconImage_=(i: Image): Unit

## Attributes

Inherited from:
  Frame

def iconified: Boolean

## Attributes

Inherited from:
  Frame

def iconify(): Unit

## Attributes

Inherited from:
  Frame

def ignoreRepaint: Boolean

## Attributes

Inherited from:
  UIElement

def ignoreRepaint_=(b: Boolean): Unit

## Attributes

Inherited from:
  UIElement

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 location_=(p: Point): Unit

## Attributes

Inherited from:
  Window

def maximize(): Unit

## Attributes

Inherited from:
  Frame

def maximized: Boolean

## Attributes

Inherited from:
  Frame

def maximumSize: Dimension

## Attributes

Inherited from:
  UIElement

def maximumSize_=(x: Dimension): Unit

## Attributes

Inherited from:
  UIElement

def menuBar: MenuBar

The menu bar of this frame or `NoMenuBar` if no menu bar is set.

The menu bar of this frame or `NoMenuBar` if no menu bar is set.

## Attributes

Inherited from:
  RichWindow

def menuBar_=(m: MenuBar): Unit

Set the current menu bar of this frame. Pass `NoMenuBar` if this frame should not show a menu bar.

Set the current menu bar of this frame. Pass `NoMenuBar` if this frame should not show a menu bar.

## Attributes

Inherited from:
  RichWindow

def minimumSize: Dimension

## Attributes

Inherited from:
  UIElement

def minimumSize_=(x: Dimension): Unit

## Attributes

Inherited from:
  UIElement

def open(): Unit

## Attributes

Inherited from:
  Window

def owner: Window

## Attributes

Inherited from:
  Window

def pack(): Window.this.type

## Attributes

Inherited from:
  Window

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 resizable: Boolean

## Attributes

Inherited from:
  RichWindow

def resizable_=(b: Boolean): Unit

## Attributes

Inherited from:
  RichWindow

def self: Any

## Attributes

Inherited from:
  UIElement

def setLocationRelativeTo(c: UIElement): Unit

## Attributes

Inherited from:
  Window

def showing: Boolean

## Attributes

Inherited from:
  UIElement

def size: Dimension

## Attributes

Inherited from:
  UIElement

def size_=(size: Dimension): Unit

## Attributes

Inherited from:
  Window

override def subscribe(listener: Reaction): Unit

## Attributes

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

def title: String

## Attributes

Inherited from:
  RichWindow

def title_=(s: String): Unit

## Attributes

Inherited from:
  RichWindow

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

def uniconify(): Unit

## Attributes

Inherited from:
  Frame

def unmaximize(): Unit

## Attributes

Inherited from:
  Frame

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

#### Concrete fields

val buttonPanel: FlowPanel

#### Inherited fields

val escape: Int

## Attributes

Inherited from:
  Escapable

val escapeStroke: KeyStroke

## Attributes

Inherited from:
  Escapable

protected val listeners: RefSet[Reaction]

## Attributes

Inherited from:
  Publisher

lazy override val peer: JFrame & InterfaceMixin2

The underlying Swing peer.

The underlying Swing peer.

## Attributes

Inherited from:
  Frame

val reactions: Reactions

All reactions of this reactor.

All reactions of this reactor.

## Attributes

Inherited from:
  Reactor

val wholeWindowScope: Int

## Attributes

Inherited from:
  Escapable