Main table java stuff

From Rave Documentation
Jump to: navigation, search

The main table is based on the Oracle "table sorter" example file. This is in the RaveTableSorter.java file.

Renderers

  • The column header renderer lives in RaveTableSorter.java as SortableHeaderRenderer (very bottom of the file).
  • Each "type of column" has its own renderer. Java assigns renderers based on the data type of the objects displayed in the table. These do not necessarily match up with the actual objects Rave is displaying in the table. Instead, RaveTableSorter overloads getColumnClass (line 509ish) to return particular classes depending on how Rave wants the data to render. For example, random variables appear as the jawa.awt.Rectangle class (selected specifically because this class is unlikely to ever appear in a real table).
Currently the following types of columns exist
Rave Column Type Java Object Class Renderer Class (file)
Regular Numbers java.lang.Double RaveDefaultTableCellRenderer
Integers java.lang.Integer RaveIntegerTableCellRenderer
Strings java.lang.String RaveStringTableCellRenderer
Noise Variable java.awt.Rectangle RaveNoiseTableCellRenderer

Constant variables do not use a special renderer... they render with whatever their data type would be if they were not constant.

  • Renderers are set by ravedisplaymaintable.
  • Renderer colors may be changed using methods, for example the controls on the main table format tab do this.