Class ComponentResizer

    • Constructor Detail

      • ComponentResizer

        public ComponentResizer()
        Convenience contructor. All borders are resizable in increments of a single pixel. Components must be registered separately.
      • ComponentResizer

        public ComponentResizer​(Component... components)
        Convenience contructor. All borders are resizable in increments of a single pixel. Components can be registered when the class is created or they can be registered separately afterwards.
        Parameters:
        components - components to be automatically registered
      • ComponentResizer

        public ComponentResizer​(Insets dragInsets,
                                Component... components)
        Convenience contructor. Eligible borders are resisable in increments of a single pixel. Components can be registered when the class is created or they can be registered separately afterwards.
        Parameters:
        dragInsets - Insets specifying which borders are eligible to be resized.
        components - components to be automatically registered
      • ComponentResizer

        public ComponentResizer​(Insets dragInsets,
                                Dimension snapSize,
                                Component... components)
        Create a ComponentResizer.
        Parameters:
        dragInsets - Insets specifying which borders are eligible to be resized.
        snapSize - Specify the dimension to which the border will snap to when being dragged. Snapping occurs at the halfway mark.
        components - components to be automatically registered
    • Method Detail

      • getDragInsets

        public Insets getDragInsets()
        Get the drag insets
        Returns:
        the drag insets
      • setDragInsets

        public void setDragInsets​(Insets dragInsets)
        Set the drag dragInsets. The insets specify an area where mouseDragged events are recognized from the edge of the border inwards. A value of 0 for any size will imply that the border is not resizable. Otherwise the appropriate drag cursor will appear when the mouse is inside the resizable border area.
        Parameters:
        dragInsets - Insets to control which borders are resizeable.
      • getMaximumSize

        public Dimension getMaximumSize()
        Get the components maximum size.
        Returns:
        the maximum size
      • setMaximumSize

        public void setMaximumSize​(Dimension maximumSize)
        Specify the maximum size for the component. The component will still be constrained by the size of its parent.
        Parameters:
        maximumSize - the maximum size for a component.
      • getMinimumSize

        public Dimension getMinimumSize()
        Get the components minimum size.
        Returns:
        the minimum size
      • setMinimumSize

        public void setMinimumSize​(Dimension minimumSize)
        Specify the minimum size for the component. The minimum size is constrained by the drag insets.
        Parameters:
        minimumSize - the minimum size for a component.
      • deregisterComponent

        public void deregisterComponent​(Component... components)
        Remove listeners from the specified component
        Parameters:
        components - the component the listeners are removed from
      • registerComponent

        public void registerComponent​(Component... components)
        Add the required listeners to the specified component
        Parameters:
        components - the component the listeners are added to
      • registerComponent

        public void registerComponent​(String authorizedDirection,
                                      Component... components)
      • getSnapSize

        public Dimension getSnapSize()
        Get the snap size.
        Returns:
        the snap size.
      • setSnapSize

        public void setSnapSize​(Dimension snapSize)
        Control how many pixels a border must be dragged before the size of the component is changed. The border will snap to the size once dragging has passed the halfway mark.
        Parameters:
        snapSize - Dimension object allows you to separately spcify a horizontal and vertical snap size.
      • mouseDragged

        public void mouseDragged​(MouseEvent e)
        Resize the component ensuring location and size is within the bounds of the parent container and that the size is within the minimum and maximum constraints. All calculations are done using the bounds of the component when the resizing started.
        Specified by:
        mouseDragged in interface MouseMotionListener
        Overrides:
        mouseDragged in class MouseAdapter