Package wprover

Class RectChooser

  • All Implemented Interfaces:
    java.awt.event.ActionListener, java.awt.event.ContainerListener, java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.MouseWheelListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

    public class RectChooser
    extends JBaseDialog
    implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.awt.event.MouseWheelListener, java.awt.event.ActionListener
    RectChooser is a class that extends JBaseDialog and implements various mouse and action listeners. It is used to create a dialog for selecting a rectangle area on a drawing panel.
    See Also:
    Serialized Form
    • Nested Class Summary

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

        javax.swing.JDialog.AccessibleJDialog
      • Nested classes/interfaces inherited from class java.awt.Dialog

        java.awt.Dialog.AccessibleAWTDialog, java.awt.Dialog.ModalExclusionType, java.awt.Dialog.ModalityType
      • Nested classes/interfaces inherited from class java.awt.Window

        java.awt.Window.AccessibleAWTWindow, java.awt.Window.Type
      • 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.JDialog

        accessibleContext, rootPane, rootPaneCheckingEnabled
      • Fields inherited from class java.awt.Dialog

        DEFAULT_MODALITY_TYPE
      • 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
      • Fields inherited from interface javax.swing.WindowConstants

        DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
    • Constructor Summary

      Constructors 
      Constructor Description
      RectChooser​(GExpert gx)
      Constructs a new RectChooser dialog with the specified GExpert instance.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void actionPerformed​(java.awt.event.ActionEvent e)
      Handles action events for the OK and Cancel buttons.
      void dragto​(int x, int y)
      Updates the rectangle's size based on the dragged mouse coordinates.
      void enlargeRect()
      Enlarges the rectangle by a specified edge size.
      boolean getReturnResult()
      Returns the result of the dialog.
      java.awt.Rectangle getSelectedRectangle()
      Returns the selected rectangle.
      int getZoomX​(int x)
      Converts the x-coordinate based on the current zoom level.
      int getZoomY​(int y)
      Converts the y-coordinate based on the current zoom level.
      void keyPressed​(java.awt.event.KeyEvent e)
      Handles key pressed events to move the rectangle or confirm the selection.
      void mouseClicked​(java.awt.event.MouseEvent e)
      Handles mouse clicked events.
      void mouseDragged​(java.awt.event.MouseEvent e)
      Handles mouse dragged events to update the rectangle's size.
      void mouseEntered​(java.awt.event.MouseEvent e)
      Handles mouse entered events.
      void mouseExited​(java.awt.event.MouseEvent e)
      Handles mouse exited events.
      void mouseMoved​(java.awt.event.MouseEvent e)
      Handles mouse moved events.
      void mousePressed​(java.awt.event.MouseEvent e)
      Handles mouse pressed events to start drawing the rectangle.
      void mouseReleased​(java.awt.event.MouseEvent e)
      Handles mouse released events to finalize the rectangle.
      void mouseWheelMoved​(java.awt.event.MouseWheelEvent e)
      Handles mouse wheel moved events to zoom in or out.
      void updateButton()
      Updates the state of the OK button based on the rectangle size and pressed state.
      void updateField()
      Updates the text fields with the current rectangle coordinates and size.
      • Methods inherited from class javax.swing.JDialog

        addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
      • Methods inherited from class java.awt.Dialog

        addNotify, getModalityType, getTitle, hide, isModal, isResizable, isUndecorated, setBackground, setModal, setModalityType, setOpacity, setResizable, setShape, setTitle, setUndecorated, setVisible, show, toBack
      • Methods inherited from class java.awt.Window

        addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBackground, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOpacity, getOwnedWindows, getOwner, getOwnerlessWindows, getShape, getToolkit, getType, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isAutoRequestFocus, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isOpaque, isShowing, isValidateRoot, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeNotify, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setAutoRequestFocus, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImage, setIconImages, setLocation, setLocation, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setType, toFront
      • Methods inherited from class java.awt.Container

        add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, requestFocusInWindow, resize, resize, revalidate, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setMaximumSize, setMixingCutoutShape, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
      • Methods inherited from class java.lang.Object

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

      • RectChooser

        public RectChooser​(GExpert gx)
        Constructs a new RectChooser dialog with the specified GExpert instance.
        Parameters:
        gx - the GExpert instance to associate with this dialog
    • Method Detail

      • enlargeRect

        public void enlargeRect()
        Enlarges the rectangle by a specified edge size.
      • getReturnResult

        public boolean getReturnResult()
        Returns the result of the dialog.
        Returns:
        true if the OK button was pressed, false otherwise
      • getSelectedRectangle

        public java.awt.Rectangle getSelectedRectangle()
        Returns the selected rectangle.
        Returns:
        the selected Rectangle
      • actionPerformed

        public void actionPerformed​(java.awt.event.ActionEvent e)
        Handles action events for the OK and Cancel buttons.
        Specified by:
        actionPerformed in interface java.awt.event.ActionListener
        Parameters:
        e - the ActionEvent triggered by the buttons
      • updateField

        public void updateField()
        Updates the text fields with the current rectangle coordinates and size.
      • updateButton

        public void updateButton()
        Updates the state of the OK button based on the rectangle size and pressed state.
      • mouseClicked

        public void mouseClicked​(java.awt.event.MouseEvent e)
        Handles mouse clicked events.
        Specified by:
        mouseClicked in interface java.awt.event.MouseListener
        Parameters:
        e - the MouseEvent triggered by clicking the mouse
      • mousePressed

        public void mousePressed​(java.awt.event.MouseEvent e)
        Handles mouse pressed events to start drawing the rectangle.
        Specified by:
        mousePressed in interface java.awt.event.MouseListener
        Parameters:
        e - the MouseEvent triggered by pressing the mouse
      • mouseReleased

        public void mouseReleased​(java.awt.event.MouseEvent e)
        Handles mouse released events to finalize the rectangle.
        Specified by:
        mouseReleased in interface java.awt.event.MouseListener
        Parameters:
        e - the MouseEvent triggered by releasing the mouse
      • mouseEntered

        public void mouseEntered​(java.awt.event.MouseEvent e)
        Handles mouse entered events.
        Specified by:
        mouseEntered in interface java.awt.event.MouseListener
        Parameters:
        e - the MouseEvent triggered by entering a component
      • mouseExited

        public void mouseExited​(java.awt.event.MouseEvent e)
        Handles mouse exited events.
        Specified by:
        mouseExited in interface java.awt.event.MouseListener
        Parameters:
        e - the MouseEvent triggered by exiting a component
      • mouseDragged

        public void mouseDragged​(java.awt.event.MouseEvent e)
        Handles mouse dragged events to update the rectangle's size.
        Specified by:
        mouseDragged in interface java.awt.event.MouseMotionListener
        Parameters:
        e - the MouseEvent triggered by dragging the mouse
      • dragto

        public void dragto​(int x,
                           int y)
        Updates the rectangle's size based on the dragged mouse coordinates.
        Parameters:
        x - the x-coordinate of the mouse
        y - the y-coordinate of the mouse
      • mouseMoved

        public void mouseMoved​(java.awt.event.MouseEvent e)
        Handles mouse moved events.
        Specified by:
        mouseMoved in interface java.awt.event.MouseMotionListener
        Parameters:
        e - the MouseEvent triggered by moving the mouse
      • mouseWheelMoved

        public void mouseWheelMoved​(java.awt.event.MouseWheelEvent e)
        Handles mouse wheel moved events to zoom in or out.
        Specified by:
        mouseWheelMoved in interface java.awt.event.MouseWheelListener
        Parameters:
        e - the MouseWheelEvent triggered by moving the mouse wheel
      • getZoomX

        public int getZoomX​(int x)
        Converts the x-coordinate based on the current zoom level.
        Parameters:
        x - the original x-coordinate
        Returns:
        the zoomed x-coordinate
      • getZoomY

        public int getZoomY​(int y)
        Converts the y-coordinate based on the current zoom level.
        Parameters:
        y - the original y-coordinate
        Returns:
        the zoomed y-coordinate
      • keyPressed

        public void keyPressed​(java.awt.event.KeyEvent e)
        Handles key pressed events to move the rectangle or confirm the selection.
        Specified by:
        keyPressed in interface java.awt.event.KeyListener
        Overrides:
        keyPressed in class JBaseDialog
        Parameters:
        e - the KeyEvent triggered by pressing a key