com.dlsc.flexgantt.swing
Class GanttChart

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by com.dlsc.flexgantt.swing.AbstractGanttChart
                      extended by com.dlsc.flexgantt.swing.GanttChart
All Implemented Interfaces:
IPagingModelListener, IColumnModelListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible
Direct Known Subclasses:
SimpleGranularityGanttChart

public class GanttChart
extends AbstractGanttChart

A basic Gantt chart implementation that is capable of visualizing the data provided by a single Gantt chart model. The chart consists of a left-hand side and a right-hand side. The left-hand side is implemented by a TreeTableScrollPane containing a TreeTable, a TreeTableRowHeader and a TreeTableHeader. The right-hand side is implemented by a LayerContainerScrollPane containing a Timeline (which itself contains a Dateline and an Eventline.

Since:
1.0
Author:
Dirk Lemmermann
See Also:
DualGanttChart, Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
static java.lang.String PROPERTY_PRINT_MANAGER
          Constant used for those property change events that get fired when the print manager changes.
 
Fields inherited from class com.dlsc.flexgantt.swing.AbstractGanttChart
PROPERTY_CALENDAR_MODEL, PROPERTY_CALENDAR_VISIBLE, PROPERTY_COLUMN_MODEL, PROPERTY_COMMAND_STACK, PROPERTY_CONTROLS_BG_COLOR, PROPERTY_CONTROLS_FG_COLOR, PROPERTY_CROSSHAIR_VISIBLE, PROPERTY_GRID_LINE_MODE, PROPERTY_KEY_COLUMN_POSITION, PROPERTY_LABELS_VISIBLE, PROPERTY_MODEL, PROPERTY_PAGING_MODEL, PROPERTY_POLICY_PROVIDER, PROPERTY_POPUP_VISIBLE, PROPERTY_RELATIONS_VISIBLE, PROPERTY_ROW_HEADER_WIDTH, PROPERTY_ROW_LAYER_VISIBLE, PROPERTY_ROW_RESIZE_POSITION, PROPERTY_TIME_NOW_SCROLLING, PROPERTY_TIME_NOW_VISIBLE, PROPERTY_VERTICAL_LINES_ON_TOP
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
GanttChart()
          Constructs a new standard Gantt chart.
GanttChart(IColumnModel columnModel)
          Constructs a new standard Gantt chart.
GanttChart(IComponentFactory compFactory)
          Constructs a new standard Gantt chart.
GanttChart(IGanttChartModel model)
          Constructs a new standard Gantt chart.
GanttChart(IGanttChartModel model, IColumnModel columnModel)
          Constructs a new standard Gantt chart.
GanttChart(IGanttChartModel model, IColumnModel columnModel, IComponentFactory compFactory)
          Constructs a new standard Gantt chart.
GanttChart(IGanttChartModel model, IColumnModel columnModel, java.util.TimeZone zone, IComponentFactory compFactory)
          Constructs a new standard Gantt chart.
GanttChart(IGanttChartModel model, IComponentFactory compFactory)
          Constructs a new standard Gantt chart.
 
Method Summary
 IGridComponent[] getGridComponents()
          Returns all grid components managed by the Gantt chart container.
 LayerContainer getLayerContainer()
          Returns the Gantt chart's layer container that is responsible for managing system, timeline and custom layers.
 LayerContainerRowHeader getLayerContainerRowHeader()
          Returns the row header that gets used in combination with the layer container.
 LayerContainer[] getLayerContainers()
          Returns all layer containers managed by the Gantt chart container.
 LayerContainerScrollPane getLayerContainerScrollPane()
          Returns the scrollpane that wraps the Gantt chart's layer container.
 LayerContainerScrollPane[] getLayerContainerScrollPanes()
          Returns all layer container scrollpanes managed by the Gantt chart container.
 PrintContext[] getPrintContexts()
          Returns all print context supported by the Gantt chart.
 IPrintManager getPrintManager()
          Returns the print manager to be used when the application invokes printing.
 javax.swing.JSplitPane getSplitPane()
          The split pane used to layout and resize the left-hand side and the right-hand side of the Gantt chart.
 TreeTable getTreeTable()
          Returns the Gantt chart's tree table that is responsible for visualizing the hierarchical data structures provided by the Gantt chart model (which is basically an extended tree table model).
 TreeTableRowHeader getTreeTableRowHeader()
          The row header of the tree table.
 TreeTable[] getTreeTables()
          Returns all tree tables managed by the Gantt chart container.
 TreeTableScrollPane getTreeTableScrollPane()
          Returns the scrollpane that wraps the tree table, the row header and the column header (basically the entire left-hand side of the chart).
 TreeTableScrollPane[] getTreeTableScrollPanes()
          Returns all tree table scrollpanes managed by the Gantt chart container.
 void print(boolean preview)
          Prints the Gantt chart.
 void print(boolean preview, ITimeSpan span)
          Prints the Gantt chart.
 void resetToPreferredSizes()
          Causes the Gantt chart to lay out its left- and right-hand side in such a way that the tree table on the left becomes fully visible.
 void setPrintManager(IPrintManager manager)
          Sets the print manager to be used when the application invokes printing.
 
Methods inherited from class com.dlsc.flexgantt.swing.AbstractGanttChart
addAvailableColumn, addMessage, addMessageListener, addSortingListener, addToolBarAction, alignEndTimes, alignStartTimes, clearMessages, clearToolBarActions, collapseAll, columnModelChanged, commandExecute, commandRedo, commandUndo, expandAll, fireMessageAdded, fireMessageRemoved, fireMessagesCleared, fireSortingEvent, getAvailableColumns, getCalendarModel, getColumn, getColumnCount, getColumnModel, getCommandInterceptor, getCommandStack, getComponentFactory, getControlsBackground, getControlsForeground, getDateline, getDatelineModel, getEventline, getGridLineMode, getKeyColumn, getKeyColumnPosition, getMessages, getModel, getPagingModel, getPolicyProvider, getProgressMonitorFactory, getRowHeaderWidth, getRowResizePosition, getTimeline, getTimeSpan, getToolBarActions, getTreeTableHeader, initializeKeyStrokes, isCalendarVisible, isCrosshairVisible, isLabelsVisible, isPopupVisible, isRelationsVisible, isRowLayerVisible, isTimeNowScrolling, isTimeNowVisible, isVerticalLinesOnTop, pageChanged, pageWillChange, paint, paintRowResizePosition, propertyChange, removeAvailableColumn, removeMessage, removeMessageListener, removeSortingListener, removeToolBarAction, setCalendarModel, setCalendarVisible, setColumnModel, setCommandInterceptor, setCommandStack, setControlsBackground, setControlsForeground, setCrosshairVisible, setGranularity, setGridLineMode, setKeyColumnPosition, setLabelsVisible, setModel, setPagingModel, setPolicyProvider, setPopupVisible, setProgressMonitorFactory, setRelationsVisible, setRowHeaderWidth, setRowLayerVisible, setRowResizePosition, setTimeNowScrolling, setTimeNowVisible, setTimeSpan, setVerticalLinesOnTop, showAllObjects, showEarliestObjects, showLatestObjects, showMessage, showMessage, showMessage, showMessageContext, showMessages, showTime, showTimeNow, sortTables
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

PROPERTY_PRINT_MANAGER

public static final java.lang.String PROPERTY_PRINT_MANAGER
Constant used for those property change events that get fired when the print manager changes.

Since:
1.0
See Also:
setPrintManager(IPrintManager), Constant Field Values
Constructor Detail

GanttChart

public GanttChart(IGanttChartModel model,
                  IColumnModel columnModel,
                  java.util.TimeZone zone,
                  IComponentFactory compFactory)
Constructs a new standard Gantt chart.

Parameters:
model - the model that will be used as a data source for the tree table and the layer container
columnModel - the data source for column information will be primarily used by the TreeTableHeader
zone - the time zone that will be visualized by the timeline
compFactory - a factory for those UI components that constitute a Gantt chart
Since:
1.0

GanttChart

public GanttChart(IGanttChartModel model,
                  IColumnModel columnModel,
                  IComponentFactory compFactory)
Constructs a new standard Gantt chart. The initial time zone displayed by the timeline will be set to TimeZone.getDefault().

Parameters:
model - the model that will be used as a data source for the tree table and the layer container
columnModel - the data source for column information will be primarily used by the TreeTableHeader
compFactory - a factory for those UI components that constitute a Gantt chart
Since:
1.0

GanttChart

public GanttChart(IGanttChartModel model,
                  IColumnModel columnModel)
Constructs a new standard Gantt chart. The initial time zone displayed by the timeline will be set to TimeZone.getDefault(). The Gantt chart will use the DefaultComponentFactory to create the controls it needs.

Parameters:
model - the model that will be used as a data source for the tree table and the layer container
columnModel - the data source for column information will be primarily used by the TreeTableHeader
Since:
1.0

GanttChart

public GanttChart(IGanttChartModel model,
                  IComponentFactory compFactory)
Constructs a new standard Gantt chart. The initial time zone displayed by the timeline will be set to TimeZone.getDefault(). The Gantt chart will use a DefaultColumnModel for the tree table / column header.

Parameters:
model - the model that will be used as a data source for the tree table and the layer container
compFactory - a factory for those UI components that constitute a Gantt chart
Since:
1.0

GanttChart

public GanttChart(IGanttChartModel model)
Constructs a new standard Gantt chart. The initial time zone displayed by the timeline will be set to TimeZone.getDefault(). The Gantt chart will use a DefaultColumnModel for the tree table / column header and a DefaultComponentFactory for creating the controls it needs.

Parameters:
model - the model that will be used as a data source for the tree table and the layer container
Since:
1.0

GanttChart

public GanttChart(IColumnModel columnModel)
Constructs a new standard Gantt chart. The initial time zone displayed by the timeline will be set to TimeZone.getDefault(). The Gantt chart will use a DefaultGanttChartModel as a data source and a DefaultComponentFactory for creating the controls it needs.

Parameters:
columnModel - the data source for column information will be primarily used by the TreeTableHeader
Since:
1.0

GanttChart

public GanttChart(IComponentFactory compFactory)
Constructs a new standard Gantt chart. The initial time zone displayed by the timeline will be set to TimeZone.getDefault(). The Gantt chart will use a DefaultColumnModel for the tree table / column header and a DefaultGanttChartModel as its data source.

Parameters:
compFactory - a factory for those UI components that constitute a Gantt chart
Since:
1.0

GanttChart

public GanttChart()
Constructs a new standard Gantt chart. The initial time zone displayed by the timeline will be set to TimeZone.getDefault(). The Gantt chart will use a DefaultColumnModel for the tree table / column header, a DefaultGanttChartModel as its data source and a DefaultComponentFactory to create the controls it requires.

Since:
1.0
Method Detail

getLayerContainer

public LayerContainer getLayerContainer()
Returns the Gantt chart's layer container that is responsible for managing system, timeline and custom layers.

Returns:
the Gantt chart's layer container
Since:
1.0
See Also:
getLayerContainerScrollPane()

getLayerContainerRowHeader

public LayerContainerRowHeader getLayerContainerRowHeader()
Returns the row header that gets used in combination with the layer container. It is shown to the left of the layer container inside the layer container scrollpane.

Returns:
the row header of the layer container scrollpane
Since:
1.0

getTreeTable

public TreeTable getTreeTable()
Returns the Gantt chart's tree table that is responsible for visualizing the hierarchical data structures provided by the Gantt chart model (which is basically an extended tree table model).

Returns:
the Gantt chart's tree table
Since:
1.0
See Also:
getTreeTableScrollPane()

getTreeTables

public TreeTable[] getTreeTables()
Description copied from class: AbstractGanttChart
Returns all tree tables managed by the Gantt chart container.

Specified by:
getTreeTables in class AbstractGanttChart
Returns:
all tree tables

getLayerContainerScrollPane

public LayerContainerScrollPane getLayerContainerScrollPane()
Returns the scrollpane that wraps the Gantt chart's layer container. The scrollpane also manages the timeline.

Returns:
the Gantt chart's layer container scrollpane
Since:
1.0

getLayerContainers

public LayerContainer[] getLayerContainers()
Description copied from class: AbstractGanttChart
Returns all layer containers managed by the Gantt chart container.

Specified by:
getLayerContainers in class AbstractGanttChart
Returns:
all layer containers

getTreeTableRowHeader

public TreeTableRowHeader getTreeTableRowHeader()
The row header of the tree table. The header is responsible for rendering row numbers, selections, expand / collpase icons.

Returns:
the tree table's row header
Since:
1.0
See Also:
AbstractGanttChart.getTreeTableHeader()

getSplitPane

public javax.swing.JSplitPane getSplitPane()
The split pane used to layout and resize the left-hand side and the right-hand side of the Gantt chart.

Returns:
the Gantt chart's split pane
Since:
1.0

getTreeTableScrollPane

public TreeTableScrollPane getTreeTableScrollPane()
Returns the scrollpane that wraps the tree table, the row header and the column header (basically the entire left-hand side of the chart).

Returns:
the scrollpane of the tree table
Since:
1.0
See Also:
getTreeTable()

resetToPreferredSizes

public void resetToPreferredSizes()
Description copied from class: AbstractGanttChart
Causes the Gantt chart to lay out its left- and right-hand side in such a way that the tree table on the left becomes fully visible.

Specified by:
resetToPreferredSizes in class AbstractGanttChart

getPrintManager

public IPrintManager getPrintManager()
Returns the print manager to be used when the application invokes printing.

Returns:
the print manager used by the Gantt chart for printing
Since:
1.0
See Also:
TimeGranularityPrintManager, SimpleGranularityPrintManager

setPrintManager

public void setPrintManager(IPrintManager manager)
Sets the print manager to be used when the application invokes printing.

Parameters:
manager - the print manager to use for printing the Gantt chart
Since:
1.0
See Also:
TimeGranularityPrintManager, SimpleGranularityPrintManager

getPrintContexts

public PrintContext[] getPrintContexts()
Description copied from class: AbstractGanttChart
Returns all print context supported by the Gantt chart. A standard Gantt chart will only return a single print context, a dual Gantt chart will return two contexts, ...

Specified by:
getPrintContexts in class AbstractGanttChart
Returns:
all print contexts supported by the Gantt chart

print

public void print(boolean preview)
Description copied from class: AbstractGanttChart
Prints the Gantt chart.

Overrides:
print in class AbstractGanttChart
Parameters:
preview - if TRUE a preview dialog will be shown first before printing
See Also:
AbstractGanttChart.print(boolean, ITimeSpan)

print

public void print(boolean preview,
                  ITimeSpan span)
Description copied from class: AbstractGanttChart
Prints the Gantt chart.

Specified by:
print in class AbstractGanttChart
Parameters:
preview - if TRUE a preview dialog will be shown first before printing
span - the time span that needs to be printed

getLayerContainerScrollPanes

public LayerContainerScrollPane[] getLayerContainerScrollPanes()
Description copied from class: AbstractGanttChart
Returns all layer container scrollpanes managed by the Gantt chart container.

Specified by:
getLayerContainerScrollPanes in class AbstractGanttChart
Returns:
all layer container scrollpanes

getTreeTableScrollPanes

public TreeTableScrollPane[] getTreeTableScrollPanes()
Description copied from class: AbstractGanttChart
Returns all tree table scrollpanes managed by the Gantt chart container.

Specified by:
getTreeTableScrollPanes in class AbstractGanttChart
Returns:
all tree table scrollpanes

getGridComponents

public IGridComponent[] getGridComponents()
Description copied from class: AbstractGanttChart
Returns all grid components managed by the Gantt chart container. Layer containers and eventlines implement the grid component interface and can be controlled via GridControl instances.

Specified by:
getGridComponents in class AbstractGanttChart
Returns:
all grid components