# Interface SinePlot.PlanePlotter

All Known Implementing Classes:
  `ApiPlanePlotter, EnvPlanePlotter`

Enclosing class:
  `SinePlot`

public static interface SinePlot.PlanePlotter
Abstracts the way that the table is turned into a 2d plot component.

Since:
  12 Jun 2014
Author:
  Mark Taylor

## Method Summary

Modifier and Type
Method
Description
`PlotDisplay<?,?>`
`createPlotComponent(uk.ac.starlink.table.StarTable table, boolean dataMayChange)`
Creates a JComponent holding a plot of the data in the first two columns of the supplied table.

## Method Details

### createPlotComponent

PlotDisplay<?,?> createPlotComponent(uk.ac.starlink.table.StarTable table, boolean dataMayChange) throws Exception
Creates a JComponent holding a plot of the data in the first two columns of the supplied table. This plot is live, and can be resized (as required by Swing) and panned and zoomed (by various mouse drag and wheel gestures).

The `dataMayChange` parameter is used to determine whether the plot positions should be cached or not for repaints, either as required by Swing move/resize actions or as the result of the user navigating around the plot. It's always safe to set it true, but if the data is static, setting it false will give better performance.

Parameters:
  `table` - table to plot
  `dataMayChange` - true if the table data may change during the lifetime of the plot
Throws:
  `Exception`