Class DisplayablePanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- edu.rit.swing.DisplayablePanel
-
- All Implemented Interfaces:
- java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible
public class DisplayablePanel extends javax.swing.JPanelClass DisplayablePanel is a SwingJPanelthat displays aDisplayableobject. The displayable panel can then be made part of a Swing GUI.The displayable object is specified when the displayable panel is constructed. A different displayable object can be specified later using the display() method. The displayable panel's preferred size and the displayable panel's bounds are set to the size of the displayable object when the displayable panel is constructed and when the display() method is called. If the same displayable panel will be displaying different displayable objects, consider embedding the displayable panel in a JScrollPane so the whole displayable object can be scrolled into view if the displayable object becomes larger.
The displayable panel supports zooming (scaling) the displayable object. The zoom factor is set when the displayable panel is constructed and when the zoom() method is called. The displayable panel's preferred size and bounds are actually those of the displayable object multiplied by the zoom factor.
If the autofitting flag is true (see setAutofitting()), the displayable panel will display a scaled version of the displayable object, such that the displayable object is completely visible within the displayable panel's current size.
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Field Summary
-
Fields inherited from class javax.swing.JComponent
TOOL_TIP_TEXT_KEY, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor and Description DisplayablePanel(Displayable theDisplayable)Construct a new displayable panel.DisplayablePanel(Displayable theDisplayable, double theZoom)Construct a new displayable panel with the given zoom factor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description Displayabledisplay()Obtain this displayable panel's displayable object.voiddisplay(Displayable theDisplayable)Tell this displayable panel to display the given displayable object.booleanisAutofitting()Determine whether this displayable panel is autofitting.voidsetAutofitting(boolean autofit)Set this displayable panel's autofitting flag to the given value.doublezoom()Obtain this displayable panel's zoom factor.voidzoom(double theZoom)Specify this displayable panel's zoom factor.-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, setUI, updateUI
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, 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, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, 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, 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, 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, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Constructor Detail
-
DisplayablePanel
public DisplayablePanel(Displayable theDisplayable)
Construct a new displayable panel. The displayable panel's preferred size and bounds are set to the size of theDisplayable.- Parameters:
theDisplayable- Displayable object.- Throws:
java.lang.NullPointerException- (unchecked exception) Thrown if theDisplayable is null.
-
DisplayablePanel
public DisplayablePanel(Displayable theDisplayable, double theZoom)
Construct a new displayable panel with the given zoom factor. The displayable panel's preferred size and bounds are set to the size of theDisplayable multiplied by theZoom.- Parameters:
theDisplayable- Displayable object.theZoom- Zoom factor.- Throws:
java.lang.NullPointerException- (unchecked exception) Thrown if theDisplayable is null.java.lang.IllegalArgumentException- (unchecked exception) Thrown if theZoom <= 0.
-
-
Method Detail
-
display
public Displayable display()
Obtain this displayable panel's displayable object.- Returns:
- Displayable object this displayable panel is displaying.
-
display
public void display(Displayable theDisplayable)
Tell this displayable panel to display the given displayable object.- Parameters:
theDisplayable- Displayable object.- Throws:
java.lang.NullPointerException- (unchecked exception) Thrown if theDisplayable is null.
-
zoom
public double zoom()
Obtain this displayable panel's zoom factor.- Returns:
- Zoom factor.
-
zoom
public void zoom(double theZoom)
Specify this displayable panel's zoom factor.- Parameters:
theZoom- Zoom factor.- Throws:
java.lang.IllegalArgumentException- (unchecked exception) Thrown if theZoom <= 0.
-
isAutofitting
public boolean isAutofitting()
Determine whether this displayable panel is autofitting.- Returns:
- True if this displayable panel is autofitting, false otherwise.
-
setAutofitting
public void setAutofitting(boolean autofit)
Set this displayable panel's autofitting flag to the given value. If the autofitting flag is true, the displayable panel will display a scaled version of the displayable object, such that the displayable object is completely visible within the displayable panel's current size.- Parameters:
autofit- True to autofit, false otherwise.
-
-
DMelt 3.0 © DataMelt by jWork.ORG