Class SwingNavigationView

  • All Implemented Interfaces:
    NavigationView, ViewerComponent, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.SwingConstants

    public class SwingNavigationView
    extends javax.swing.JTabbedPane
    implements NavigationView
    The navigation view is responsible for the group tree, the search view, and any other navigation tabs needed by the application. These navigation tabs are displayed as individual tabs, that is, the user can switch between them. The typical use of a NavigationView would be a holder for a group tree to the left of the report scroll view, however it can be used in any other manner as well.
    Since:
    7.0
    See Also:
    Serialized Form
    • Nested Class Summary

      • Nested classes/interfaces inherited from class javax.swing.JTabbedPane

        javax.swing.JTabbedPane.AccessibleJTabbedPane, javax.swing.JTabbedPane.ModelListener
      • 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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
    • Field Summary

      • Fields inherited from class javax.swing.JTabbedPane

        changeEvent, changeListener, model, SCROLL_TAB_LAYOUT, tabPlacement, WRAP_TAB_LAYOUT
      • Fields inherited from class javax.swing.JComponent

        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

        accessibleContext, 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
      • Fields inherited from interface javax.swing.SwingConstants

        BOTTOM, CENTER, EAST, HORIZONTAL, LEADING, LEFT, NEXT, NORTH, NORTH_EAST, NORTH_WEST, PREVIOUS, RIGHT, SOUTH, SOUTH_EAST, SOUTH_WEST, TOP, TRAILING, VERTICAL, WEST
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addNavigationTab​(java.lang.String title, NavigationTab tab)
      Add a new NavigationTab to this NavigationView with a certain title.
      java.awt.Component getComponent()
      All public graphical components of the viewer must implement this method, which returns the actual AWT component so that it can be added to containers, etc.
      For example, if you have a "ReportViewer" and would like to add it to your own JFrame, simply call: myFrame.add(viewer.getComponent())
      NavigationTab getNavigationTab​(int index)
      Returns the navigation tab at the specified index - the index is 0-based and is determined by when the navigation tabs were added to the navigation view.
      int getNavigationTabIndex​(java.lang.String tab_group_tree)
      Returns the NavigationTab index of the first found NavigationTab with the given name, or -1 if none is found with this name.
      int getNavigationTabsCount()
      Get the amount of navigation tabs in this navigation view - this is also one higher than the allowed index of any navigation tab.
      RenderData getReportData()
      Returns the RenderData object of this NavigationView, that is, the source of the report data
      boolean isVisible()
      Returns whether this navigation view is set to be visible or not
      void reload()
      Reloads the data underlying this navigation view and renews the display with the new data.
      void removeNavigationTab​(int index)
      Removes the navigation tab at the specified index and causes the navigation view to be refreshed without this navigation tab.
      void setVisible​(boolean visible)
      Shows or hides this navigation view.
      void showError​(java.lang.Throwable th)
      Called when any error occurs within the navigation view
      void showNavigationTab​(int tabIndex)
      Causes the navigation tab at the given index to be selected and shown for this navigation view.
      • Methods inherited from class javax.swing.JTabbedPane

        add, add, add, add, add, addChangeListener, addTab, addTab, addTab, createChangeListener, fireStateChanged, getAccessibleContext, getBackgroundAt, getBoundsAt, getChangeListeners, getComponentAt, getDisabledIconAt, getDisplayedMnemonicIndexAt, getForegroundAt, getIconAt, getMnemonicAt, getModel, getSelectedComponent, getSelectedIndex, getTabComponentAt, getTabCount, getTabLayoutPolicy, getTabPlacement, getTabRunCount, getTitleAt, getToolTipText, getToolTipTextAt, getUI, getUIClassID, indexAtLocation, indexOfComponent, indexOfTab, indexOfTab, indexOfTabComponent, insertTab, isEnabledAt, paramString, remove, remove, removeAll, removeChangeListener, removeTabAt, setBackgroundAt, setComponentAt, setDisabledIconAt, setDisplayedMnemonicIndexAt, setEnabledAt, setForegroundAt, setIconAt, setMnemonicAt, setModel, setSelectedComponent, setSelectedIndex, setTabComponentAt, setTabLayoutPolicy, setTabPlacement, setTitleAt, setToolTipTextAt, 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, getBaseline, getBaselineResizeBehavior, 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, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, 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, unregisterKeyboardAction, update
      • Methods inherited from class java.awt.Container

        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, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Method Detail

      • reload

        public void reload()
        Reloads the data underlying this navigation view and renews the display with the new data. Reload will be called whenever the ReportView is reloaded in order to prevent two different states between the ReportView and the NavigationView. It will be passed on to all navigation tabs in this navigation view.
        Specified by:
        reload in interface NavigationView
        Since:
        7.0
      • showError

        public void showError​(java.lang.Throwable th)
        Called when any error occurs within the navigation view
        Specified by:
        showError in interface NavigationView
        Parameters:
        th - Exception which has occurred.
        Since:
        7.0
      • getReportData

        public RenderData getReportData()
        Returns the RenderData object of this NavigationView, that is, the source of the report data
        Specified by:
        getReportData in interface NavigationView
        Returns:
        The RenderData object of this NavigationView, that is, the source of the report data
        Since:
        7.0
      • addNavigationTab

        public void addNavigationTab​(java.lang.String title,
                                     NavigationTab tab)
        Add a new NavigationTab to this NavigationView with a certain title. This allows you to create your own NavigationTab and add it to the NavigationView.
        Specified by:
        addNavigationTab in interface NavigationView
        Parameters:
        title - Title the navigation tab is to have
        tab - NavigationTab to add to the navigation view.
        Since:
        7.0
      • getNavigationTab

        public NavigationTab getNavigationTab​(int index)
        Returns the navigation tab at the specified index - the index is 0-based and is determined by when the navigation tabs were added to the navigation view. The maximum allowed index is getNavigationTabsCount()-1.
        Specified by:
        getNavigationTab in interface NavigationView
        Parameters:
        index - Index of NavigationTab to return, 0-based
        Returns:
        NavigationTab at this index
        Since:
        7.0
      • removeNavigationTab

        public void removeNavigationTab​(int index)
        Removes the navigation tab at the specified index and causes the navigation view to be refreshed without this navigation tab. The maximum allowed index is getNavigationTabsCount()-1.
        Specified by:
        removeNavigationTab in interface NavigationView
        Parameters:
        index - Index of navigation tab to remove
        Since:
        7.0
      • getNavigationTabsCount

        public int getNavigationTabsCount()
        Get the amount of navigation tabs in this navigation view - this is also one higher than the allowed index of any navigation tab. That is, to iterate through all navigation tabs, example code would be:

        int count = getNavigationTabsCount();
        for (int i=0; i < count; i++) {
          NavigationTab tab = getNavigationTab(i);
          ...
        }

        Specified by:
        getNavigationTabsCount in interface NavigationView
        Returns:
        The amount of navigation tabs in the navigation view.
        Since:
        7.0
      • isVisible

        public boolean isVisible()
        Returns whether this navigation view is set to be visible or not
        Specified by:
        isVisible in interface NavigationView
        Overrides:
        isVisible in class java.awt.Component
        Returns:
        Whether this navigation view is set to be visible or not
        Since:
        7.0
      • setVisible

        public void setVisible​(boolean visible)
        Shows or hides this navigation view.
        Specified by:
        setVisible in interface NavigationView
        Overrides:
        setVisible in class javax.swing.JComponent
        Parameters:
        visible - Show this navigation view or not
        Since:
        7.0
      • getComponent

        public java.awt.Component getComponent()
        All public graphical components of the viewer must implement this method, which returns the actual AWT component so that it can be added to containers, etc.
        For example, if you have a "ReportViewer" and would like to add it to your own JFrame, simply call: myFrame.add(viewer.getComponent())
        Specified by:
        getComponent in interface ViewerComponent
        Returns:
        Actual AWT component of this object.
        Since:
        7.0
      • getNavigationTabIndex

        public int getNavigationTabIndex​(java.lang.String tab_group_tree)
        Returns the NavigationTab index of the first found NavigationTab with the given name, or -1 if none is found with this name. See the constants for examples to use to retrieve the search or group views
        Specified by:
        getNavigationTabIndex in interface NavigationView
        Parameters:
        tab_group_tree - Name of NavigationTab for which the index is to be returned.
        Returns:
        NavigationTab's index
        Since:
        7.0
        See Also:
        GroupView.TAB_GROUP_TREE, SearchView.TAB_SEARCH
      • showNavigationTab

        public void showNavigationTab​(int tabIndex)
        Causes the navigation tab at the given index to be selected and shown for this navigation view. The index for any navigation tab can be retrieved using the method getNavigationTabIndex(String).
        Specified by:
        showNavigationTab in interface NavigationView
        Parameters:
        tabIndex - Index of navigation tab to select and display.
        Since:
        7.0