Class ViewJFrameRenderCamera

All Implemented Interfaces:
ViewImageUpdateInterface, ActionListener, ComponentListener, MouseListener, WindowListener, ImageObserver, MenuContainer, Serializable, EventListener, Accessible, ChangeListener, RootPaneContainer, WindowConstants

public class ViewJFrameRenderCamera extends ViewJFrameBase implements MouseListener
This class builds a "light box" view of a 3D or 4D dataset. In addition, a 2nd image can be overlayed and an alpha value can be adjusted to control the amount of each image that is displayed. The user can control how the images are tiled by specifing the number of row or cols, border thickness and size, and magnification. The options can changed using the dialog accessed via the options menu.
Version:
1.0 July 8, 1999
Author:
Matthew J. McAuliffe Ph.D., Ruida Cheng
See Also:
  • Field Details

    • serialVersionUID

      private static final long serialVersionUID
      Use serialVersionUID for interoperability.
      See Also:
    • DEFAULT_IMAGE_SIZE

      private static final int DEFAULT_IMAGE_SIZE
      default values indicating minimum, maximum sizes are in PIXELS on a side for a magnification. this is to fix the magnification problems of very small images for which the arbitrary limits of lightbox image sizes of 25%-75% of the full size of an image. in practice the default max will reference the side with greatest magnitude ...
      See Also:
    • DEFAULT_IMAGE_MIN

      private static final int DEFAULT_IMAGE_MIN
      DOCUMENT ME!
      See Also:
    • DEFAULT_XSCREEN_SPACE

      private static final int DEFAULT_XSCREEN_SPACE
      DOCUMENT ME!
      See Also:
    • DEFAULT_YSCREEN_SPACE

      private static final int DEFAULT_YSCREEN_SPACE
      DOCUMENT ME!
      See Also:
    • DEFAULT_DEPENDENT_ROW

      public static final boolean DEFAULT_DEPENDENT_ROW
      default row is dependent, and column independent.

      the default is the number of rows is the dependent variable, and is dependent apon the total number of images and the number of columns.

      See Also:
    • MIN_MAGNIFICATION

      public static final float MIN_MAGNIFICATION
      default magnification of images in the light-box.
      See Also:
    • MAX_MAGNIFICATION

      public static final float MAX_MAGNIFICATION
      DOCUMENT ME!
      See Also:
    • MAX_GRID_ROW

      public static final int MAX_GRID_ROW
      maximum row value (when it is the independent variable).
      See Also:
    • MAX_GRID_COL

      public static final int MAX_GRID_COL
      maximum column value (when it is the independent variable).
      See Also:
    • MAX_GRID_SIZE

      public static final int MAX_GRID_SIZE
      maximum spacing in-between images in the light-box.
      See Also:
    • MAX_GRID_BORDER

      public static final int MAX_GRID_BORDER
      maximum spacing of the border surrounding images in the light-box.
      See Also:
    • MAX_SELECTED_GRID_BORDER

      public static final int MAX_SELECTED_GRID_BORDER
      maximum spacing of the selection border surrounding images in the light-box.
      See Also:
    • NO_AXIS

      public static final int NO_AXIS
      DOCUMENT ME!
      See Also:
    • X_AXIS

      public static final int X_AXIS
      X axis constant.
      See Also:
    • Y_AXIS

      public static final int Y_AXIS
      Y axis constant.
      See Also:
    • Z_AXIS

      public static final int Z_AXIS
      Z axis constant.
      See Also:
    • toggleArray

      private static JToggleButton[] toggleArray
      elements of tBar.
    • STANDARD

      public static final int STANDARD
      Show standard progress bar with cancel.
      See Also:
    • NO_CANCEL

      public static final int NO_CANCEL
      Show progress bar without a cancel button.
      See Also:
    • NO_PROGRESS

      public static final int NO_PROGRESS
      Do no show progress bar.
      See Also:
    • pBarVisible

      protected boolean pBarVisible
      Flag indicating if a whether of not the progress bar is visible.
    • progressBar

      protected ViewJProgressBar progressBar
      Progress bar object.
    • progressBarLocation

      protected Point progressBarLocation
      Progress bar default location.
    • progressMode

      protected int progressMode
      Progress mode - either standard, no cancel, or no progress bar.
    • borderColor

      private Color borderColor
      color for the line border surrounding each image in the light-box.
    • borderSize

      private int borderSize
      spacing for the line border surrounding each image in the light-box.
    • componentImageVector

      private Vector componentImageVector
      DOCUMENT ME!
    • currentSelectedSlice

      private int currentSelectedSlice
      DOCUMENT ME!
    • currentSlice

      private int currentSlice
      current info -- this slice info refers to the *real* slice number, not the page index for a slice on a page.
    • deleteButton

      private JButton deleteButton
      Delete the captured image button.
    • deleteSelection

      private JMenuItem deleteSelection
      Delete menu icon item.
    • extractButton

      private JButton extractButton
      Extract the selected image button.
    • extractSelection

      private JMenuItem extractSelection
      Extrace menu icon item.
    • firstTime

      private boolean firstTime
      DOCUMENT ME!
    • frameHeight

      private int frameHeight
      DOCUMENT ME!
    • frameStartLocation

      private Point frameStartLocation
      DOCUMENT ME!
    • frameWidth

      private int frameWidth
      frame information.
    • gridColor

      private Color gridColor
      color for the region in-between the images in the light-box.
    • gridColumn

      private int gridColumn
      DOCUMENT ME!
    • gridRow

      private int gridRow
      value for the number of rows (number of images along the y-axis) and columns (number of images along the x-axis) in the light-box.

      Note that both row and column set to 1 cannot make sense, but that one or the other will be the 'dependent variable' as defined by the row_dependent boolean var.

      A value of 0 means that the dependent variable will automatically be sized to its maximum size that can fit nicely on the screen.

    • gridSpacing

      private int gridSpacing
      spacing between images in the light-box.
    • group

      private ButtonGroup group
      DOCUMENT ME!
    • imageBorderVector

      private Vector imageBorderVector
      DOCUMENT ME!
    • imageBufferA

      private float[] imageBufferA
      DOCUMENT ME!
    • imageHeight

      private int imageHeight
      DOCUMENT ME!
    • imagePanelSizeX

      private int imagePanelSizeX
      per num visible images information.
    • imagePanelSizeY

      private int imagePanelSizeY
      per num visible images information.
    • imagePanelVector

      private Vector imagePanelVector
      DOCUMENT ME!
    • imageWidth

      private int imageWidth
      DOCUMENT ME!
    • lastSelectedSlice

      private int lastSelectedSlice
      DOCUMENT ME!
    • magMax

      private float magMax
      DOCUMENT ME!
    • magMin

      private float magMin
      DOCUMENT ME!
    • magnification

      private float magnification
      magnification of images in the light-box (mag is a percentage).
    • maxPagePanelSizeX

      private int maxPagePanelSizeX
      DOCUMENT ME!
    • maxPagePanelSizeY

      private int maxPagePanelSizeY
      DOCUMENT ME!
    • modelImageVector

      private Vector modelImageVector
      DOCUMENT ME!
    • numTotalSlices

      private int numTotalSlices
      DOCUMENT ME!
    • pagePanel

      private JPanel pagePanel
      Number of pages in this frame will always be one.
    • pagePanelSizeX

      private int pagePanelSizeX
      DOCUMENT ME!
    • pagePanelSizeY

      private int pagePanelSizeY
      DOCUMENT ME!
    • pageScrollPanel

      private JScrollPane pageScrollPanel
      Scroll panel to handle the frame scolling.
    • parentFrame

      private RenderViewBase parentFrame
      DOCUMENT ME!
    • pixBuffer

      private int[] pixBuffer
      DOCUMENT ME!
    • row_dependent

      private boolean row_dependent
      indicates which--row or column--should be dependent on the other.

      the default is the number of rows is the dependent variable, and is dependent apon the total number of images and the number of columns. Don't confuse the reading to be "This display is (t/f) dependent on the row." It -could- be read as "The display is a column-independent (t/f) matrix".

    • selectedBorderColor

      private Color selectedBorderColor
      color for the line border surrounding each selected image in the light-box.
    • selectedBorderSize

      private int selectedBorderSize
      spacing for the selected line border surrounding each image in the light-box.
    • selectedImages

      private Vector selectedImages
      the selectedImages contains the *real* slice numbers -- not the index of a slice on a page. So the maximum number in the vector will be numTotalSlices - 1.
    • srcImage

      private ModelImage srcImage
      Reference to imageA.
    • tBar

      private JToolBar tBar
      Frame ToolBar.
    • toolbarPanel

      private JPanel toolbarPanel
      variables for the toolbar.
    • unselectedBorderColor

      private Color unselectedBorderColor
      DOCUMENT ME!
    • xScreen

      private int xScreen
      DOCUMENT ME!
    • yScreen

      private int yScreen
      DOCUMENT ME!
  • Constructor Details

    • ViewJFrameRenderCamera

      public ViewJFrameRenderCamera(ModelImage _imageA, RenderViewBase _parentFrame)
      Builds the initial lightbox view.
      Parameters:
      _imageA - model of image A
      _parentFrame - title of the frame
  • Method Details

    • actionPerformed

      public void actionPerformed(ActionEvent event)
      Handler for action events.
      Specified by:
      actionPerformed in interface ActionListener
      Specified by:
      actionPerformed in class ViewJFrameBase
      Parameters:
      event - event which trigger the call to the handler
    • addImage

      public void addImage(ModelImage _imageA)
      Add model image into the capture frame.
      Parameters:
      _imageA - Model image A.
    • close

      public void close()
      Closes the frame and calls disposeLocal and dispose.
      Overrides:
      close in class ViewJFrameBase
    • closeImage

      public void closeImage(ModelImage image)
      Closes image and updates display.
      Parameters:
      image - ModelImage reference
    • componentResized

      public void componentResized(ComponentEvent event)
      Method called when a component resize event is generated. This method snaps the size of the frame and pagePanel to the nearest row, column sizing (so the gridRow and gridColumn and page layout may change).
      Specified by:
      componentResized in interface ComponentListener
      Overrides:
      componentResized in class ViewJFrameBase
      Parameters:
      event - ComponentEvent
    • disposeLocal

      public void disposeLocal(boolean flag)
      Dispose the global variables.
      Parameters:
      flag - boolean dispose super or not.
    • getControls

      public ViewControlsImage getControls()
      Gets control widgets for frame.
      Specified by:
      getControls in class ViewJFrameBase
      Returns:
      DOCUMENT ME!
    • getImageA

      public ModelImage getImageA()
      Returns the reference to imageA.
      Specified by:
      getImageA in class ViewJFrameBase
      Returns:
      image
    • getImageB

      public ModelImage getImageB()
      Returns the reference to imageB.
      Specified by:
      getImageB in class ViewJFrameBase
      Returns:
      imageB
    • isProgressBarVisible

      public final boolean isProgressBarVisible()
      Returns flag that indicates that the progressBar is visible.
      Returns:
      true if progress bar is visible.
    • loadPage

      public void loadPage() throws OutOfMemoryError
      Loads the images for a page into component images and then loads the page.
      Throws:
      OutOfMemoryError - DOCUMENT ME!
    • mouseClicked

      public void mouseClicked(MouseEvent mouseEvent)
      A mouse event. When the mouse is clicked in the image, several different things may happen. If a Volume of Interest (VOI) is selected and the click count is 2, a VOI dialog should pop up. If the click count is 1 and the mouse is in an VOI, it should select the VOI. In all other cases, a click within the image but not in an VOI should deselect all VOIs.
      Specified by:
      mouseClicked in interface MouseListener
      Parameters:
      mouseEvent - event that triggers function; contains click count
    • mouseEntered

      public void mouseEntered(MouseEvent mouseEvent)
      unchanged.
      Specified by:
      mouseEntered in interface MouseListener
      Parameters:
      mouseEvent - DOCUMENT ME!
    • mouseExited

      public void mouseExited(MouseEvent mouseEvent)
      Resets the level set stack.
      Specified by:
      mouseExited in interface MouseListener
      Parameters:
      mouseEvent - event that triggered function
    • mousePressed

      public void mousePressed(MouseEvent mouseEvent)
      A mouse event. Sets the mode of the program depending on the cursor mode. If the mode is move, activates the contour or line and enables the delete button.
      Specified by:
      mousePressed in interface MouseListener
      Parameters:
      mouseEvent - event that triggered function
    • mouseReleased

      public void mouseReleased(MouseEvent mouseEvent)
      A mouse event. This function sets up and draws the VOI according to the mode.
      Specified by:
      mouseReleased in interface MouseListener
      Parameters:
      mouseEvent - event that triggered function
    • removeControls

      public void removeControls()
      Removes the menu and controls of the main frame so that a new frame can load the main frame with the proper controls.

      This function no longer loads its controls into the main control window however, this method is required because this class extends ViewJFrameBase

      Specified by:
      removeControls in class ViewJFrameBase
    • setActiveImage

      public void setActiveImage(int active)
      Sets the active image for drawing VOIs.
      Specified by:
      setActiveImage in class ViewJFrameBase
      Parameters:
      active - IMAGE_A or IMAGE_B
    • setAlphaBlend

      public void setAlphaBlend(int value)
      Sets the alpha blending of parameter for two image displaying.
      Specified by:
      setAlphaBlend in class ViewJFrameBase
      Parameters:
      value - amount [0,100] that is the percentage of Image A to be displayed
    • setControls

      public void setControls()
      Sets the menu and controls (i.e. toolbars) of the main frame! This puts the menus and controls needed to controls the operations of this frame. Different image frames have different menu and controls.

      This function no longer loads its controls into the main control window however, this method is required because this class extends ViewJFrameBase

      Specified by:
      setControls in class ViewJFrameBase
    • setEnabled

      public void setEnabled(boolean flag)
      Controls whether or not the images/VOIs of the frame can be modified.
      Specified by:
      setEnabled in class ViewJFrameBase
      Parameters:
      flag - if true the image/VOIs can be modified; if false image/VOIs can NOT be modified
    • setImageA

      public void setImageA(ModelImage _imageA)
      Accessor that sets the reference to imageA.
      Overrides:
      setImageA in class ViewJFrameBase
      Parameters:
      _imageA - image to set the frame to
    • setImageB

      public void setImageB(ModelImage _imageB)
      Accessor that sets the reference to imageB.
      Specified by:
      setImageB in class ViewJFrameBase
      Parameters:
      _imageB - image to set the frame to
    • setPaintBitmapSwitch

      public void setPaintBitmapSwitch(boolean paintBitmapSwitch)
      When switching the active image, copy the paintBitmap of the previous active image into the paintBitmap of the new active image.
      Specified by:
      setPaintBitmapSwitch in class ViewJFrameBase
      Parameters:
      paintBitmapSwitch - DOCUMENT ME!
    • setProgressBarInitLocation

      public void setProgressBarInitLocation(int xDim, int yDim)
      DOCUMENT ME!
      Parameters:
      xDim - DOCUMENT ME!
      yDim - DOCUMENT ME!
    • setProgressBarVisible

      public void setProgressBarVisible(boolean flag)
      Sets Progress Bar visibility.
      Parameters:
      flag - flag to set to
    • setRGBTA

      public void setRGBTA(ModelRGB RGBT)
      The following 2 functions set the RGB tables for ARGB images A and B.
      Specified by:
      setRGBTA in class ViewJFrameBase
      Parameters:
      RGBT - DOCUMENT ME!
    • setRGBTB

      public void setRGBTB(ModelRGB RGBT)
      DOCUMENT ME!
      Specified by:
      setRGBTB in class ViewJFrameBase
      Parameters:
      RGBT - DOCUMENT ME!
    • setSlice

      public void setSlice(int slice)
      Used in ViewImageUpdateInterface. This method sets the
      Specified by:
      setSlice in interface ViewImageUpdateInterface
      Parameters:
      slice - image plane
    • setTimeSlice

      public void setTimeSlice(int tslice)
      Sets the time slice if the image has 4 dimensions and updates the image and title.
      Specified by:
      setTimeSlice in interface ViewImageUpdateInterface
      Parameters:
      tslice - time slice
    • setTitle

      public void setTitle()
      Sets the title of the frame with the image name of slice location.
      Specified by:
      setTitle in class ViewJFrameBase
    • updateImage

      public final boolean updateImage(int slice, boolean highlightFlag)
      This methods calls the componentImage's update method to repaint the screen. This will set the requested highlight when the repaint is issued. Use setSlice() to update a single frames highlight, as this will not set the current slice.
      Parameters:
      slice - the slice of the image to update -- NOT the index into the visibile slices.
      highlightFlag - requests to paint the highlight around the component image
      Returns:
      boolean confirming successful update see setSlice
      See Also:
    • updateImageBorder

      public void updateImageBorder(int i)
      This methods updates the image border for a single slice.
      Parameters:
      i - the index of the image to update (NOT the slice number)
    • updateImageBorders

      public void updateImageBorders()
      This method updates all the image borders for a page. This needs to be called whenever a new page is loaded.
    • updateImageExtents

      public boolean updateImageExtents()
      (Part of ViewImageUpdateInterface) This methods calls the componentImage's REPAINT method to redraw the screen. The extents on this image have changed, so the extents need to be read in again and menus, panes and slide bars adjusted accordingly.
      Specified by:
      updateImageExtents in interface ViewImageUpdateInterface
      Specified by:
      updateImageExtents in class ViewJFrameBase
      Returns:
      DOCUMENT ME!
      See Also:
    • updateImages

      public final boolean updateImages()
      This methods calls the componentImage's update method to repaint the screen.
      Specified by:
      updateImages in interface ViewImageUpdateInterface
      Returns:
      boolean confirming successful update
    • updateImages

      public final boolean updateImages(boolean forceShow)
      This methods calls the componentImage's update method to redraw the screen. Without LUT changes.
      Specified by:
      updateImages in interface ViewImageUpdateInterface
      Parameters:
      forceShow - forces show to re import image and calc. java image
      Returns:
      boolean confirming successful update
    • updateImages

      public final boolean updateImages(ModelLUT _LUTa, ModelLUT _LUTb, boolean forceShow, int interpMode)
      This methods calls the componentImage's update method to redraw the screen.
      Specified by:
      updateImages in interface ViewImageUpdateInterface
      Parameters:
      _LUTa - LUT used to update imageA
      _LUTb - LUT used to update imageB
      forceShow - forces show to re import image and calc. java image
      interpMode - image interpolation method (Nearest or Smooth)
      Returns:
      boolean confirming successful update
    • updateImageSlice

      public void updateImageSlice(int plane, int timeVolume)
      Updates the Z(3rd dimension) plane and the time (4th dimesion) volume.
      Parameters:
      plane - image plane that is to displayed
      timeVolume - the volume in which the plane the is to be displayed from
    • windowActivated

      public void windowActivated(WindowEvent event)
      Over loaded so that it doesn't do anything.
      Specified by:
      windowActivated in interface WindowListener
      Overrides:
      windowActivated in class ViewJFrameBase
      Parameters:
      event - DOCUMENT ME!
    • windowClosing

      public void windowClosing(WindowEvent event)
      Ask user if really wishes to close the image frame.
      Specified by:
      windowClosing in interface WindowListener
      Overrides:
      windowClosing in class ViewJFrameBase
      Parameters:
      event - DOCUMENT ME!
    • buildProgressBar

      protected void buildProgressBar(String imageName, String message, int start, int end)
      Constructs progress bar.
      Parameters:
      imageName - title of the toolbar
      message - message to be displayed in the frame
      start - start (typical = 0)
      end - end (typical = 100)
    • disposeProgressBar

      protected void disposeProgressBar()
      Disposes of progress bar.
    • finalize

      protected void finalize() throws Throwable
      finalize - calls dispose.
      Overrides:
      finalize in class ViewJFrameBase
      Throws:
      Throwable - DOCUMENT ME!
    • initProgressBar

      protected void initProgressBar()
      Initializes progress bar.
    • invertSelections

      protected void invertSelections()
      Method to invert the selection of slices in an image.
    • selectAll

      protected void selectAll()
      Method to select all the slices in an image.
    • selectNone

      protected void selectNone()
      Method to select none of the slices in an image.
    • setButtonStatus

      protected void setButtonStatus()
      Method to set the status of the delete and extract menuItems and Buttons based on the selectedImages vector.
    • setMagMax

      protected void setMagMax()
      Sets the maximum magnification to the image. will ensure that the current magnification is not larger than the maximum.
    • setMagMin

      protected void setMagMin()
      Sets the minimum magnification to the image. will ensure that the current magnification is not smaller than the minimum.
    • buildMenuBar

      private void buildMenuBar()
      Builds a simple menubar for this frame (ViewJFrameLightBox).
    • buildPage

      private void buildPage() throws OutOfMemoryError
      Builds the panels for a page and adds them to the page.
      Throws:
      OutOfMemoryError - DOCUMENT ME!
    • buildToolbar

      private void buildToolbar()
      Builds a simple toolbar for this frame (ViewJFrameLightBox).
    • calcImagePanelSize

      private void calcImagePanelSize()
      Calculate the individual image panel size based on the current magnification of the image.
    • calcMaxPagePanelSize

      private void calcMaxPagePanelSize()
      Calculate the maximum page panel size based on the screen size, the size of the menubar and toolbars and whether the columns or rows are independent.
    • calcPagePanelSize

      private void calcPagePanelSize()
      Calculate the size of the page Panel. First the maximum size of the pagePanel must have been determined. Once the maximum page panel size is determined, then the actual size may be reduced to nicely fit the current image panel size. This will also determine how many images will fit into the page panel.
    • calcScreenSize

      private void calcScreenSize()
      Calculate the screen size in pixels.
    • createImageBorder

      private CompoundBorder createImageBorder()
      This method creates the compound image border array for each image in the light box. The outer border is a LineBorder that uses the border color defined in the settings. The inner border is also a Line Border, however it's color depends on whether an image is selected or not (see the selectedImages vector).
      Returns:
      DOCUMENT ME!
    • deleteSlices

      private void deleteSlices()
      Delete selected slices.
    • extractColor

      private Color extractColor(String preferencesColorString)
      Makes a series of ints, corresponding to a color string stored in the Mipav.preferences file which looks like a color string defined in web pages ("RRGGBB"). and returns a java.awt.Color based on those values.

      Call with extractColor(Preferences.getProperty("OneOfThoseColors"));

      if preferencesColorString is null, or incomplete, returns black.

      Parameters:
      String - preferencesColorString-- this class pre-arranges the colors to be
      Returns:
      java.awt.Color
      See Also:
    • extractImages

      private void extractImages()
      Extract the camera capture frame into the resulting ModelImage model. The extraction takes the first slice in each componentImageVector, then binding them into the resulting modelImage model.
    • initBuffers

      private void initBuffers()
      Initializes the buffers that hold the image data.
    • lockSize

      private void lockSize(JFrame frame)
      Only allow resizing the frame horizontally. Vertial not allow. Dr. Ben's contribution.
      Parameters:
      frame - DOCUMENT ME!
    • repaintFrame

      private void repaintFrame()
      Updating image for each componentImage vector element.
    • saveAVI

      private void saveAVI()
      Saves screen graps to the animation frame and uses the animation frame to save the images to AVI format.
    • setBorderColor

      private void setBorderColor(Color col)
      Sets the color of the image borders.
      Parameters:
      col - color of the image borders
    • setBorderSize

      private void setBorderSize(int size)
      Sets the image border size.
      Parameters:
      size - thichness of the image border.
    • setGridColor

      private void setGridColor(Color col)
      Sets the background color of the panel that is in the scrollpane.
      Parameters:
      col - the color the background of the panel that is in the scrollpane
    • setGridColumn

      private void setGridColumn(int col)
      This method is called when there is a change to the light box column number--in the limiting case. It ensures that the column value is within bounds.
      Parameters:
      col - the number of columns to be used to display the images
    • setGridSpacing

      private void setGridSpacing(int width)
      Sets the distance between adjacent images. verifies that the width value is within bounds. If width is outside of bounds, method fails quietly.
      Parameters:
      width - the width of space between images.
    • setSelectedBorderColor

      private void setSelectedBorderColor(Color col)
      Sets the color of the selected image borders.
      Parameters:
      col - color of the selected image borders
    • setSelectedBorderSize

      private void setSelectedBorderSize(int size)
      Sets the selected image border size.
      Parameters:
      size - thichness of the selected image border.
    • setupCameraStorage

      private void setupCameraStorage()
      Setup the light box view. A scrollpane is added to the frame. A panel with a grid layout is added to the scrollpane. Bordered panels the size of the image are added to each position of the grid. Lastly image slices are added to each bordered panel.
    • updateImageSelection

      private void updateImageSelection(int plane, boolean applyToRange)
      Updates the image selection list by toggling the selection of the Z(3rd dimension) plane and the time (4th dimesion) volume.
      Parameters:
      plane - image plane that is to displayed
      applyToRange - the volume in which the plane the is to be displayed from
    • updatePagePanel

      private void updatePagePanel()
      Refill the page panel with imagePanelVector.
    • updatePanelLayout

      private void updatePanelLayout()
      Updating frame panel layout.