# Class AbstractAxesController<P,A>

java.lang.Object
uk.ac.starlink.topcat.plot2.AbstractAxesController<P,A>

All Implemented Interfaces:
  `AxesController<P,A>, Configger`

Direct Known Subclasses:
  `DisjointAxesController, MatrixAxesController`

public abstract class AbstractAxesController<P,A> extends Object implements AxesController<P,A>
Partial AxesController implementation.

Since:
  18 Aug 2023
Author:
  Mark Taylor

## Constructor Summary

Constructors
Modifier
Constructor
Description
`protected`
`AbstractAxesController()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`void`
`addActionListener(ActionListener listener)`
Adds a listener notified when any of the controls changes.
`protected void`
`addControl(Control control)`
Adds a control to the list of controls managed by this object.
`ActionListener`
`getActionForwarder()`
Returns an object which will forward actions to listeners registered with this panel.
`Control[]`
`getStackControls()`
Returns all the controls for user configuration of this controller.
`void`
`removeActionListener(ActionListener listener)`
Removes a listener previously added by addActionListener.

### Methods inherited from class Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface AxesController

`configureForLayers, getZoneControllers`

### Methods inherited from interface Configger

`getConfig`

## Constructor Details

### AbstractAxesController

protected AbstractAxesController()
Constructor.

## Method Details

### addControl

protected void addControl(Control control)
Adds a control to the list of controls managed by this object.

Parameters:
  `control` - control to add

### getStackControls

public Control[] getStackControls()
Returns all the controls for user configuration of this controller. This includes the main control and possibly others.

Specified by:
  `getStackControls` in interface `AxesController<P,A>`
Returns:
  user controls

### addActionListener

public void addActionListener(ActionListener listener)
Adds a listener notified when any of the controls changes.

Specified by:
  `addActionListener` in interface `AxesController<P,A>`
Parameters:
  `listener` - listener to add

### removeActionListener

public void removeActionListener(ActionListener listener)
Removes a listener previously added by addActionListener.

Specified by:
  `removeActionListener` in interface `AxesController<P,A>`
Parameters:
  `listener` - listener to remove

### getActionForwarder

public ActionListener getActionForwarder()
Returns an object which will forward actions to listeners registered with this panel.

Returns:
  action forwarder