Examples of WebOverlay


Examples of com.alee.extended.panel.WebOverlay

    @Override
    public Component getPreview ( WebLookAndFeelDemo owner )
    {
        // Overlay
        WebOverlay overlayPanel = new WebOverlay ();

        // Overlayed label
        WebLabel component = new WebLabel ( "Mouseover the small icon" );
        overlayPanel.setComponent ( component );

        // Image displayed as overlay
        WebImage overlay = new WebImage ( loadIcon ( "small.png" ) );
        TooltipManager.setTooltip ( overlay, "Overlay with tooltip", TooltipWay.trailing, 0 );
        overlayPanel.addOverlay ( overlay, SwingConstants.TRAILING, SwingConstants.TOP );
        overlayPanel.setComponentMargin ( 0, 0, 0, overlay.getPreferredSize ().width );

        return new GroupPanel ( overlayPanel );
    }
View Full Code Here

Examples of com.alee.extended.panel.WebOverlay

    }

    @Override
    public Component getPreview ( final WebLookAndFeelDemo owner )
    {
        final WebOverlay overlayPanel = new WebOverlay ();

        // Overlayed area
        final String text = "Try resizing this area...";
        final WebTextArea textArea = new WebTextArea ( text, 3, 20 );
        textArea.setLineWrap ( true );
        textArea.setWrapStyleWord ( true );

        // Scroll pane that will be sized by resize corner
        final WebScrollPane scrollPane = new WebScrollPane ( textArea );
        overlayPanel.setComponent ( scrollPane );

        // Resize corner displayed as overlay
        final JComponent resizer = new JComponent ()
        {
            @Override
            protected void paintComponent ( final Graphics g )
            {
                final Graphics2D g2d = ( Graphics2D ) g;
                final Object aa = GraphicsUtils.setupAntialias ( g2d );

                g2d.setPaint ( isEnabled () ? Color.GRAY : Color.LIGHT_GRAY );
                if ( getComponentOrientation ().isLeftToRight () )
                {
                    g2d.drawLine ( 0, 10, 10, 0 );
                    g2d.drawLine ( 4, 10, 10, 4 );
                    g2d.drawLine ( 8, 10, 10, 8 );
                }
                else
                {
                    g2d.drawLine ( 11, 10, 1, 0 );
                    g2d.drawLine ( 7, 10, 1, 4 );
                    g2d.drawLine ( 3, 10, 1, 8 );
                }

                GraphicsUtils.restoreAntialias ( g2d, aa );
            }

            @Override
            public Dimension getPreferredSize ()
            {
                return new Dimension ( 12, 12 );
            }
        };
        resizer.setCursor ( Cursor.getPredefinedCursor ( Cursor.SE_RESIZE_CURSOR ) );
        resizer.addPropertyChangeListener ( WebLookAndFeel.ORIENTATION_PROPERTY, new PropertyChangeListener ()
        {
            @Override
            public void propertyChange ( final PropertyChangeEvent evt )
            {
                resizer.setCursor ( Cursor.getPredefinedCursor (
                        resizer.getComponentOrientation ().isLeftToRight () ? Cursor.SE_RESIZE_CURSOR : Cursor.SW_RESIZE_CURSOR ) );
            }
        } );

        // Resize adapter
        final MouseAdapter mouseAdapter = new MouseAdapter ()
        {
            private Dimension startDim = null;
            private Point start = null;

            @Override
            public void mousePressed ( final MouseEvent e )
            {
                if ( resizer.isEnabled () && SwingUtilities.isLeftMouseButton ( e ) )
                {
                    startDim = scrollPane.getSize ();
                    start = MouseInfo.getPointerInfo ().getLocation ();
                }
            }

            @Override
            public void mouseDragged ( final MouseEvent e )
            {
                if ( start != null )
                {
                    final boolean ltr = resizer.getComponentOrientation ().isLeftToRight ();

                    final Point p = MouseInfo.getPointerInfo ().getLocation ();
                    final Dimension ps = scrollPane.getLayout ().preferredLayoutSize ( scrollPane );
                    final Dimension newPs = new Dimension ( startDim.width + ( ltr ? p.x - start.x : start.x - p.x ),
                            startDim.height + ( p.y - start.y ) * 2 );

                    scrollPane.setPreferredSize ( SwingUtils.max ( ps, newPs ) );
                    scrollPane.revalidate ();
                    scrollPane.repaint ();
                }
            }

            @Override
            public void mouseReleased ( final MouseEvent e )
            {
                if ( start != null )
                {
                    startDim = null;
                    start = null;
                }
            }
        };
        resizer.addMouseListener ( mouseAdapter );
        resizer.addMouseMotionListener ( mouseAdapter );

        // Adding overlay
        overlayPanel.addOverlay ( resizer, SwingConstants.TRAILING, SwingConstants.BOTTOM );
        overlayPanel.setOverlayMargin ( 3 );

        return new GroupPanel ( overlayPanel );
    }
View Full Code Here

Examples of com.alee.extended.panel.WebOverlay

    @Override
    public Component getPreview ( WebLookAndFeelDemo owner )
    {
        // Overlay
        final WebOverlay overlayPanel = new WebOverlay ();

        // Progress displayed as overlay
        final WebProgressBar overlay = new WebProgressBar ();
        overlay.setPreferredProgressWidth ( 100 );
        overlay.setStringPainted ( true );

        // Additional centering panel that soaks mouse events to prevent textarea interactions
        final CenterPanel centeredOverlay = new CenterPanel ( overlay );
        centeredOverlay.setVisible ( false );
        EmptyMouseAdapter.install ( centeredOverlay );
        overlayPanel.addOverlay ( centeredOverlay );

        // Overlayed text area
        final WebTextArea component = new WebTextArea ();
        component.setColumns ( 20 );
        component.setRows ( 3 );
        component.setLineWrap ( true );
        component.setWrapStyleWord ( true );
        component.addMouseListener ( new MouseAdapter ()
        {
            private String toAdd = "";
            private int step = 5;

            @Override
            public void mousePressed ( MouseEvent e )
            {
                // Block action on disabled state
                if ( !component.isEnabled () )
                {
                    return;
                }

                // Updating string to write
                if ( toAdd.length () == 0 )
                {
                    toAdd = ExamplesManager.createSmallString ();
                }

                // Disabling textarea editing
                component.setEditable ( false );
                component.setSelectionStart ( component.getText ().length () );
                component.setSelectionEnd ( component.getText ().length () );
                component.setCaretPosition ( component.getText ().length () );

                // Initializing progress
                overlay.setMinimum ( 0 );
                overlay.setValue ( 0 );
                overlay.setMaximum ( toAdd.length () );

                // Displaying overlay
                centeredOverlay.setVisible ( true );

                // Starting update thread
                new Thread ( new Runnable ()
                {
                    @Override
                    public void run ()
                    {
                        while ( toAdd.length () > 0 )
                        {
                            final int left = Math.min ( step, toAdd.length () );
                            SwingUtils.invokeAndWaitSafely ( new Runnable ()
                            {
                                @Override
                                public void run ()
                                {
                                    component.append ( toAdd.substring ( 0, left ) );
                                    overlay.setValue ( overlay.getValue () + left );
                                }
                            } );
                            toAdd = toAdd.substring ( left );
                            ThreadUtils.sleepSafely ( 50 );
                        }
                        SwingUtilities.invokeLater ( new Runnable ()
                        {
                            @Override
                            public void run ()
                            {
                                // Hiding overlay
                                centeredOverlay.setVisible ( false );

                                // Enabling textarea editing
                                component.setEditable ( false );
                            }
                        } );
                    }
                } ).start ();
            }
        } );
        overlayPanel.setComponent ( new WebScrollPane ( component ) );

        return new GroupPanel ( overlayPanel );
    }
View Full Code Here

Examples of com.alee.extended.panel.WebOverlay

    @Override
    public Component getPreview ( final WebLookAndFeelDemo owner )
    {
        // Overlay
        final WebOverlay overlayPanel = new WebOverlay ();

        // Overlayed text field
        final WebTextField textField = new WebTextField ( 15 );
        overlayPanel.setComponent ( textField );

        // Label displayed as overlay when component is not focused
        final WebLabel overlay = new WebLabel ( "Enter text here..." )
        {
            @Override
            public boolean contains ( final int x, final int y )
            {
                // Making label invisible for mouse events
                return false;
            }
        };
        overlay.setForeground ( Color.GRAY );
        textField.addFocusListener ( new ConditionalVisibilityListener ( overlay, false, null )
        {
            @Override
            public boolean isVisible ()
            {
                return super.isVisible () && textField.getText ().equals ( "" );
            }
        } );
        overlayPanel.addOverlay ( overlay, SwingConstants.CENTER, SwingConstants.CENTER );

        return new GroupPanel ( overlayPanel );
    }
View Full Code Here

Examples of com.alee.extended.panel.WebOverlay

                {
                    WebUtils.browseSiteSafely ( WebLookAndFeelDemo.WEBLAF_SITE );
                }
            } );

            final WebOverlay linkOverlay = new WebOverlay ( exampleView, linkImage, WebOverlay.LEADING, WebOverlay.BOTTOM );
            linkOverlay.setOverlayMargin ( 15, 15, 15, 15 );
            linkOverlay.setOpaque ( false );

            exampleView = linkOverlay;
        }

        return exampleView;
View Full Code Here

Examples of com.alee.extended.panel.WebOverlay

                    component.setBounds ( bi.left + ci.left, bi.top + ci.top, pw - bi.left - bi.right - ci.left - ci.right,
                            ph - bi.top - bi.bottom - ci.top - ci.bottom );
                }
                else if ( constraint.equals ( OVERLAY ) )
                {
                    WebOverlay webOverlay = ( WebOverlay ) parent;
                    OverlayData data = webOverlay.getOverlayData ( component );
                    Insets om = overlayMargin != null ? overlayMargin : new Insets ( 0, 0, 0, 0 );
                    if ( data.getLocation ().equals ( OverlayLocation.fill ) )
                    {
                        component.setBounds ( bi.left + om.left, bi.top + om.top, pw - bi.left - om.left - bi.right - om.right,
                                ph - bi.top - om.top - bi.bottom - om.bottom );
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.