Class TabPreviewPainter

java.lang.Object
org.pushingpixels.radiance.theming.extras.api.tabbed.TabPreviewPainter
Direct Known Subclasses:
DefaultTabPreviewPainter

public abstract class TabPreviewPainter extends Object
Base class for tab preview painters.
  • Constructor Details

    • TabPreviewPainter

      public TabPreviewPainter()
  • Method Details

    • previewTab

      public void previewTab(JTabbedPane tabPane, int tabIndex, BufferedImage bufferedImage, int x, int y, int w, int h)
      Draws a tab preview on the specified graphics.
      Parameters:
      tabPane - Tabbed pane.
      tabIndex - tabIndex Tab index for the preview paint.
      bufferedImage - Buffered image to draw the preview into.
      x - X coordinate of the preview area.
      y - Y coordinate of the preview area.
      w - Width of the preview area.
      h - Height of the preview area.
    • hasPreview

      public boolean hasPreview(JTabbedPane tabPane, int tabIndex)
      Checks whether the specified tab component is previewable.
      Parameters:
      tabPane - Tabbed pane.
      tabIndex - Tab index for the preview paint.
      Returns:
      true if the specified tab component is previewable, false otherwise.
    • isSensitiveToEvents

      public boolean isSensitiveToEvents(JTabbedPane tabPane, int tabIndex)
      Checks whether the specified tab component is sensitive to events. Overriding implementation may decide that disabled tabs do not respond to mouse and keyboard events, thus not allowing selecting the corresponding tab.
      Parameters:
      tabPane - Tabbed pane.
      tabIndex - Tab index.
      Returns:
      true if the specified tab component is sensitive to events, false otherwise.
    • getPreviewDialogScreenBounds

      public Rectangle getPreviewDialogScreenBounds(JTabbedPane tabPane)
      Returns the screen bounds of the tab preview dialog window.
      Parameters:
      tabPane - Tabbed pane.
      Returns:
      Screen bounds of the preview dialog window of the specified tabbed pane.
    • getModalOwner

      public JFrame getModalOwner(JTabbedPane tabPane)
      Returns the owner of the overview dialog of the specified tabbed pane. If this function retuns a non-null value, the overview dialog will be modal for the corresponding frame.
      Parameters:
      tabPane - Tabbed pane.
      Returns:
      If not null, the overview dialog for the specified tabbed pane will be modal for the corresponding frame.
    • hasOverviewDialog

      public boolean hasOverviewDialog(JTabbedPane tabPane)
      Checks whether the specified tabbed pane has an overview dialog.
      Parameters:
      tabPane - Tabbed pane.
      Returns:
      true if the specified tabbed pane has an overview dialog, false otherwise.
    • hasPreviewWindow

      public boolean hasPreviewWindow(JTabbedPane tabPane, int tabIndex)
      Checks whether the specified tabbed pane has a preview window for the specified tab.
      Parameters:
      tabPane - Tabbed pane.
      tabIndex - Tab index.
      Returns:
      true if the specified tabbed pane has a preview window for the specified tab, false otherwise.
    • getPreviewWindowDimension

      public Dimension getPreviewWindowDimension(JTabbedPane tabPane, int tabIndex)
      Returns the dimension for the tab preview window.
      Parameters:
      tabPane - Tabbed pane.
      tabIndex - Tab index.
      Returns:
      Dimension of the tab preview window for the specified tab in the specified tabbed pane.
    • getPreviewWindowExtraDelay

      public int getPreviewWindowExtraDelay(JTabbedPane tabPane, int tabIndex)
      Returns extra delay (in milliseconds) for showing the tab preview window. The base delay is 2000 milliseconds (2 seconds). This function must return a non-negative value.
      Parameters:
      tabPane - Tabbed pane.
      tabIndex - Tab index.
      Returns:
      Non-negative extra delay (in milliseconds) for showing the tab preview window.
    • toUpdatePeriodically

      public boolean toUpdatePeriodically(JTabbedPane tabPane)
      Returns indication whether the thumbnail preview should be updated periodically. If the return value is true, then the implementation of getUpdateCycle(JTabbedPane) returns the refresh cycle length in milliseconds.
      Parameters:
      tabPane - Tabbed pane.
      Returns:
      true if the thumbnail preview of the specified tabbed pane should be updated periodically, false otherwise.
    • getUpdateCycle

      public int getUpdateCycle(JTabbedPane tabPane)
      If the result of toUpdatePeriodically(JTabbedPane) is true, returns the update cycle length in milliseconds.
      Parameters:
      tabPane - Tabbed pane.
      Returns:
      Update cycle length in milliseconds for the thumbnail preview of the specified tabbed pane.
    • getOverviewKind

      public RadianceExtrasSlices.TabOverviewKind getOverviewKind(JTabbedPane tabPane)
      Returns the tab overview kind for the specified tabbed pane. Relevant if hasOverviewDialog(JTabbedPane) returns true for the same tabbed pane. If hasOverviewDialog(JTabbedPane) returns true, the result should be not null.
      Parameters:
      tabPane - Tabbed pane.
      Returns:
      Tab overview kind for the specified tabbed pane.
    • toDisposeOverviewOnFocusLoss

      public boolean toDisposeOverviewOnFocusLoss()
      Returns indication whether the tab overview dialog should be automatically disposed when it loses focus.
      Returns:
      if true, the tab overview dialog will be disposed when it loses focus.