GoodStuff Docs
Fall 2025
API

# CategoryDisplayWindow

o1.goodstuff.gui.CategoryDisplayWindow
See the CategoryDisplayWindow companion object
class CategoryDisplayWindow(val `category`: Category) extends Frame, TerminatesOnClose

Class `CategoryDisplayWindow` represents windows that display a single category of experiences recorded by a user of the GoodStuff experience diary application. Such a window enables the user to record new experiences in the category and graphically highlights the user’s favorite among those experiences.

(Please note that the given version of the application does not support multiple categories. Persistent storage of experiences into files is also unsupported.)

Note to students: In this course, you don’t need to understand how this class works.

## Parameters

category

  the category of experiences to be displayed in this window

## Attributes

Companion
  object
Graph
Supertypes
  trait TerminatesOnClose
  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
Self type
  CategoryDisplayWindow

## 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 onAddButtonClick(): 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

Call `closeOperation` on the superclass, then terminates the entire application. (Skips termination if it seems the program is running in the REPL.)

Call `closeOperation` on the superclass, then terminates the entire application. (Skips termination if it seems the program is running in the REPL.)

## Attributes

Definition Classes
  TerminatesOnClose -> Window
Inherited from:
  TerminatesOnClose

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 category: Category

#### Inherited fields

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