Package com.alee.laf.panel

Examples of com.alee.laf.panel.WebPanel


    @Override
    public Component getPreview ( final WebLookAndFeelDemo owner )
    {
        // Panel styled with nine-patch icon painter
        final WebPanel panel = new WebPanel ();
        panel.setOpaque ( false );
        panel.setPainter ( NinePatchUtils.loadNinePatchIconPainter ( getResource ( "panel.xml" ) ) );

        // Panel content
        final WebLabel label = new WebLabel ( "<html><center>Sample text inside styled panel<br>" +
                "Note that margins are automatically set by the image file</center></html>" );
        label.setHorizontalAlignment ( WebLabel.CENTER );
        label.setForeground ( Color.WHITE );
        panel.add ( label );

        return panel;
    }
View Full Code Here


    @Override
    public Component getPreview ( WebLookAndFeelDemo owner )
    {
        // Buttons panel
        WebPanel buttons = new WebPanel ( new HorizontalFlowLayout ( 5, false ) );

        // Filling pane with buttons
        for ( int i = 1; i <= 10; i++ )
        {
            WebToggleButton nb = new WebToggleButton ( loadIcon ( "buttons/" + i + ".png" ) );
            nb.setRolloverDecoratedOnly ( true );
            nb.setDrawFocus ( false );
            buttons.add ( nb );
        }

        // Grouping buttons
        SwingUtils.groupButtons ( buttons );
View Full Code Here

    {
        super ();

        this.jarStructure = jarStructure;

        toolBar = new WebPanel ( true, new ToolbarLayout () );
        toolBar.setPaintSides ( false, false, true, false );
        toolBar.setShadeWidth ( 0 );
        add ( toolBar, BorderLayout.NORTH );

        classPath = new WebBreadcrumb ( false );
View Full Code Here

        settings.setDrawFocus ( false );
        settings.setRolloverDecoratedOnly ( true );

        final WebButtonPopup wbp = new WebButtonPopup ( settings, PopupWay.downLeft );

        final WebPanel popupContent = new WebPanel ( new VerticalFlowLayout ( 5, 5 ) );
        popupContent.setMargin ( 5 );
        popupContent.setOpaque ( false );
        wbp.setContent ( popupContent );

        theme = new WebComboBox ( EditorTheme.values () );
        theme.registerSettings ( SETTINGS_PREFIX + "theme", 0 );
        theme.setRenderer ( new WebComboBoxCellRenderer ()
        {
            @Override
            public Component getListCellRendererComponent ( final JList list, final Object value, final int index, final boolean isSelected,
                                                            final boolean cellHasFocus )
            {
                final EditorTheme editorTheme = ( EditorTheme ) value;
                final WebComboBoxElement renderer =
                        ( WebComboBoxElement ) super.getListCellRendererComponent ( list, value, index, isSelected, cellHasFocus );
                renderer.setIcon ( editorTheme.getIcon () );
                renderer.setText ( editorTheme.getName () );
                return renderer;
            }
        } );
        theme.addActionListener ( new ActionListener ()
        {
            @Override
            public void actionPerformed ( final ActionEvent e )
            {
                synchronized ( activeEditorsLock )
                {
                    final String themeName = theme.getSelectedItem ().toString ().toLowerCase ();
                    for ( final Map.Entry<JarEntry, RSyntaxTextArea> entry : activeEditors.entrySet () )
                    {
                        loadTheme ( themeName, entry.getValue () );
                    }
                }
            }
        } );
        popupContent.add ( theme );

        allowCodeFolding = new WebToggleButton ( loadEditorIcon ( "allowCodeFolding" ) );
        allowCodeFolding.registerSettings ( SETTINGS_PREFIX + "allowCodeFolding", false );
        allowCodeFolding.addItemListener ( new ItemListener ()
        {
            @Override
            public void itemStateChanged ( final ItemEvent e )
            {
                synchronized ( activeEditorsLock )
                {
                    for ( final Map.Entry<JarEntry, RSyntaxTextArea> entry : activeEditors.entrySet () )
                    {
                        entry.getValue ().setCodeFoldingEnabled ( allowCodeFolding.isSelected () );
                    }
                }
            }
        } );
        final WebLabel allowCodeFoldingLabel = new WebLabel ( "Allow code folding" );
        allowCodeFoldingLabel.setDrawShade ( true );
        allowCodeFoldingLabel.addMouseListener ( new MouseAdapter ()
        {
            @Override
            public void mousePressed ( final MouseEvent e )
            {
                if ( SwingUtils.isLeftMouseButton ( e ) )
                {
                    allowCodeFolding.requestFocusInWindow ();
                    allowCodeFolding.doClick ();
                }
            }
        } );
        popupContent.add ( new GroupPanel ( 5, allowCodeFolding, allowCodeFoldingLabel ) );

        paintTabLines = new WebToggleButton ( loadEditorIcon ( "paintTabLines" ) );
        paintTabLines.registerSettings ( SETTINGS_PREFIX + "paintTabLines", false );
        paintTabLines.addItemListener ( new ItemListener ()
        {
            @Override
            public void itemStateChanged ( final ItemEvent e )
            {
                synchronized ( activeEditorsLock )
                {
                    for ( final Map.Entry<JarEntry, RSyntaxTextArea> entry : activeEditors.entrySet () )
                    {
                        entry.getValue ().setPaintTabLines ( paintTabLines.isSelected () );
                    }
                }
            }
        } );
        final WebLabel paintTabLinesLabel = new WebLabel ( "Paint tab lines" );
        paintTabLinesLabel.setDrawShade ( true );
        paintTabLinesLabel.addMouseListener ( new MouseAdapter ()
        {
            @Override
            public void mousePressed ( final MouseEvent e )
            {
                if ( SwingUtils.isLeftMouseButton ( e ) )
                {
                    paintTabLines.requestFocusInWindow ();
                    paintTabLines.doClick ();
                }
            }
        } );
        popupContent.add ( new GroupPanel ( 5, paintTabLines, paintTabLinesLabel ) );

        showWhitespaces = new WebToggleButton ( loadEditorIcon ( "showWhitespaces" ) );
        showWhitespaces.registerSettings ( SETTINGS_PREFIX + "showWhitespaces", false );
        showWhitespaces.addItemListener ( new ItemListener ()
        {
            @Override
            public void itemStateChanged ( final ItemEvent e )
            {
                synchronized ( activeEditorsLock )
                {
                    for ( final Map.Entry<JarEntry, RSyntaxTextArea> entry : activeEditors.entrySet () )
                    {
                        entry.getValue ().setWhitespaceVisible ( showWhitespaces.isSelected () );
                    }
                }
            }
        } );
        final WebLabel showWhitespacesLabel = new WebLabel ( "Show whitespaces" );
        showWhitespacesLabel.setDrawShade ( true );
        showWhitespacesLabel.addMouseListener ( new MouseAdapter ()
        {
            @Override
            public void mousePressed ( final MouseEvent e )
            {
                if ( SwingUtils.isLeftMouseButton ( e ) )
                {
                    showWhitespaces.requestFocusInWindow ();
                    showWhitespaces.doClick ();
                }
            }
        } );
        popupContent.add ( new GroupPanel ( 5, showWhitespaces, showWhitespacesLabel ) );

        showEol = new WebToggleButton ( loadEditorIcon ( "showEol" ) );
        showEol.registerSettings ( SETTINGS_PREFIX + "showEol", false );
        showEol.addItemListener ( new ItemListener ()
        {
            @Override
            public void itemStateChanged ( final ItemEvent e )
            {
                synchronized ( activeEditorsLock )
                {
                    for ( final Map.Entry<JarEntry, RSyntaxTextArea> entry : activeEditors.entrySet () )
                    {
                        entry.getValue ().setEOLMarkersVisible ( showEol.isSelected () );
                    }
                }
            }
        } );
        final WebLabel showEolLabel = new WebLabel ( "Show end of line" );
        showEolLabel.setDrawShade ( true );
        showEolLabel.addMouseListener ( new MouseAdapter ()
        {
            @Override
            public void mousePressed ( final MouseEvent e )
            {
                if ( SwingUtils.isLeftMouseButton ( e ) )
                {
                    showEol.requestFocusInWindow ();
                    showEol.doClick ();
                }
            }
        } );
        popupContent.add ( new GroupPanel ( 5, showEol, showEolLabel ) );

        return settings;
    }
View Full Code Here

        }
        else
        {
            final List<Component> preview = new ArrayList<Component> ();

            final WebPanel groupPanel = new WebPanel ()
            {
                @Override
                public void setEnabled ( final boolean enabled )
                {
                    for ( final Component previewComponent : preview )
                    {
                        SwingUtils.setEnabledRecursively ( previewComponent, enabled );
                    }
                    super.setEnabled ( enabled );
                }
            };
            groupPanel.putClientProperty ( SwingUtils.HANDLES_ENABLE_STATE, true );
            groupPanel.setOpaque ( false );
            exampleView = groupPanel;

            final int rowsAmount = examples.size () > 1 ? examples.size () * 2 - 1 : 1;
            final double[] rows = new double[ 6 + rowsAmount ];
            rows[ 0 ] = TableLayout.FILL;
            rows[ 1 ] = 20;
            rows[ 2 ] = TableLayout.PREFERRED;
            for ( int i = 3; i < rows.length - 3; i++ )
            {
                rows[ i ] = TableLayout.PREFERRED;
            }
            rows[ rows.length - 3 ] = TableLayout.PREFERRED;
            rows[ rows.length - 2 ] = 20;
            rows[ rows.length - 1 ] = TableLayout.FILL;

            final double[] columns =
                    { 20, 1f - group.getContentPartSize (), TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED,
                            TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED, TableLayout.PREFERRED,
                            group.getContentPartSize (), 20 };

            final TableLayout groupLayout = new TableLayout ( new double[][]{ columns, rows } );
            groupLayout.setHGap ( 4 );
            groupLayout.setVGap ( 4 );
            groupPanel.setLayout ( groupLayout );

            groupPanel.add ( group.modifySeparator ( createVerticalSeparator () ), "2,0,2," + ( rows.length - 1 ) );
            groupPanel.add ( group.modifySeparator ( createVerticalSeparator () ), "4,0,4," + ( rows.length - 1 ) );
            groupPanel.add ( group.modifySeparator ( createVerticalSeparator () ), "6,0,6," + ( rows.length - 1 ) );
            groupPanel.add ( group.modifySeparator ( createVerticalSeparator () ), "8,0,8," + ( rows.length - 1 ) );

            groupPanel.add ( group.modifySeparator ( createHorizontalSeparator () ), "0,2," + ( columns.length - 1 ) + ",2" );
            groupPanel.add ( group.modifySeparator ( createHorizontalSeparator () ),
                    "0," + ( rows.length - 3 ) + "," + ( columns.length - 1 ) + "," +
                            ( rows.length - 3 )
            );

            int row = 3;
            for ( final Example example : examples )
            {
                // Title & description
                groupPanel.add ( createDescription ( example, group ), "1," + row );

                // Marks
                final Component mark = createMark ( owner, example );
                groupPanel.add ( mark, "3," + row );

                // Source code
                final Component source = createSourceButton ( owner, example );
                groupPanel.add ( source, "5," + row );

                // More usage examples
                final Component usage = createPresentationButton ( example );
                groupPanel.add ( usage, "7," + row );

                SwingUtils.equalizeComponentsSize ( mark, source, usage );

                // Preview
                final Component previewComponent = createPreview ( owner, example );
                groupPanel.add ( previewComponent, "9," + row );
                preview.add ( previewComponent );

                // Rows separator
                if ( row > 3 )
                {
                    groupPanel.add ( group.modifySeparator ( createHorizontalSeparator () ),
                            "0," + ( row - 1 ) + "," + ( columns.length - 1 ) + "," + ( row - 1 ), 0 );
                }

                row += 2;
            }
View Full Code Here

        {
            final WebLabel descriptionLabel = new WebLabel ( example.getDescription (), WebLabel.TRAILING );
            descriptionLabel.setForeground ( Color.GRAY );
            SwingUtils.changeFontSize ( descriptionLabel, -1 );

            final WebPanel vertical = new WebPanel ( new VerticalFlowLayout ( VerticalFlowLayout.MIDDLE, 0, 0, true, false ) );
            vertical.setOpaque ( false );
            vertical.add ( titleLabel );
            vertical.add ( descriptionLabel );

            return vertical;
        }
    }
View Full Code Here

        return new CenterPanel ( presentation, false, true );
    }

    private static Component createPreview ( final WebLookAndFeelDemo owner, final Example example )
    {
        final WebPanel previewPanel = new WebPanel ();
        previewPanel.setOpaque ( false );
        previewPanel.setLayout ( new TableLayout ( new double[][]{ { example.isFillWidth () ? TableLayout.FILL : TableLayout.PREFERRED },
                { TableLayout.FILL, TableLayout.PREFERRED, TableLayout.FILL } } ) );

        previewPanel.add ( example.getPreview ( owner ), "0,1" );

        return previewPanel;
    }
View Full Code Here

    public SlidingSearch ( final JLayeredPane layeredPane )
    {
        super ();


        final WebPanel topPanel = new WebPanel ();
        topPanel.setLayout ( new TableLayout (
                new double[][]{ { TableLayout.FILL, TableLayout.PREFERRED, TableLayout.FILL }, { TableLayout.PREFERRED } } ) );
        topPanel.setOpaque ( false );

        searchPanel = new WebPanel ()
        {
            @Override
            public boolean contains ( final int x, final int y )
            {
                return topPanel.getBounds ().contains ( x, y ) && super.contains ( x, y );
            }
        };
        searchPanel.setOpaque ( false );
        slideLayout = new SlidingLayout ( searchPanel );
        searchPanel.setLayout ( slideLayout );
        searchPanel.add ( topPanel );


        searchPlate = new WebPanel ()
        {
            private final BufferedImage bi = ImageUtils.getBufferedImage ( SlidingSearch.class.getResource ( "icons/searchBg.png" ) );
            private final Paint bg = new TexturePaint ( bi, new Rectangle ( 0, 0, bi.getWidth (), bi.getHeight () ) );

            @Override
            protected void paintComponent ( final Graphics g )
            {
                super.paintComponent ( g );

                final Graphics2D g2d = ( Graphics2D ) g;
                final Object aa = GraphicsUtils.setupAntialias ( g2d );

                final Shape border = createBorderShape ();

                GraphicsUtils.drawShade ( g2d, border, WebCustomTooltipStyle.shadeColor, shadeWidth );

                g2d.setPaint ( bg );
                g2d.fill ( border );
                g2d.setPaint ( Color.WHITE );
                g2d.draw ( border );

                GraphicsUtils.restoreAntialias ( g2d, aa );
            }

            private Shape createBorderShape ()
            {
                final int leftSpace = connected ? 0 : shadeWidth;
                final int rightSpace = connected ? 0 : shadeWidth;
                final int shear = connected ? 0 : -1;
                final GeneralPath gp = new GeneralPath ();
                gp.moveTo ( leftSpace, shear );
                gp.quadTo ( leftSpace + topRound, shear, leftSpace + topRound, topRound );
                gp.lineTo ( leftSpace + topRound, getHeight () - shadeWidth - bottomRound );
                gp.quadTo ( leftSpace + topRound, getHeight () - shadeWidth, leftSpace + topRound + bottomRound,
                        getHeight () - shadeWidth );
                gp.lineTo ( getWidth () - rightSpace - topRound - bottomRound, getHeight () - shadeWidth );
                gp.quadTo ( getWidth () - rightSpace - topRound, getHeight () - shadeWidth, getWidth () - rightSpace - topRound,
                        getHeight () - shadeWidth - bottomRound );
                gp.lineTo ( getWidth () - rightSpace - topRound, topRound );
                gp.quadTo ( getWidth () - rightSpace - topRound, shear, getWidth () - rightSpace, shear );
                return gp;
            }
        };
        searchPlate.setMargin ( contentSpacing - 1, ( connected ? 0 : shadeWidth ) + topRound + contentSpacing + 1,
                shadeWidth + contentSpacing, ( connected ? 0 : shadeWidth ) + topRound + contentSpacing );
        searchPlate.setOpaque ( false );
        searchPlate.setLayout ( new BorderLayout () );
        searchPlate.setVisible ( false );

        leftLine = new UpperLine ();
        leftLine.setVisible ( false );

        rightLine = new UpperLine ();
        rightLine.setVisible ( false );

        topPanel.add ( leftLine, "0,0" );
        topPanel.add ( searchPlate, "1,0" );
        topPanel.add ( rightLine, "2,0" );


        searchField = new WebTextField ( 15 );
        TooltipManager.setTooltip ( searchField, searchIcon, "Quick components search", TooltipWay.down );
        searchField.setPainter ( new NinePatchIconPainter ( SlidingSearch.class.getResource ( "icons/searchField.png" ) ) );
View Full Code Here

        {
            closeEntry ( entry );
        }

        // Creating special tab content
        WebPanel content = new WebPanel ();
        content.add ( new TabAreaSeparator (), BorderLayout.NORTH );
        content.add ( viewer, BorderLayout.CENTER );

        // Inserting tab
        int index = getSelectedIndex () + 1;
        super.insertTab ( entry.getName (), entry.getIcon (), content, null, index );
View Full Code Here

    private WebLookAndFeelDemo ()
    {
        super ();

        // Base content pane
        final WebPanel contentPane = new WebPanel ();

        // Exampler loading dialog
        final WebProgressDialog progress = createProgressDialog ();
        progress.addWindowListener ( new WindowAdapter ()
        {
            @Override
            public void windowClosed ( final WindowEvent e )
            {
                // Stop loading demo on dialog close
                System.exit ( 0 );
            }
        } );
        progress.setVisible ( true );

        // Loading default demo dialog settings
        progress.setText ( "Configuring demo..." );
        setTitle ( getDemoTitle () );
        setIconImages ( WebLookAndFeel.getImages () );
        setLayout ( new BorderLayout () );
        HotkeyManager.installShowAllHotkeysAction ( getRootPane (), Hotkey.F1 );

        // Creating main content
        exampleTabs = ExamplesManager.createExampleTabs ( WebLookAndFeelDemo.this, progress );

        // Jar class structure creation
        sourceViewer = new SourceViewer ( ExamplesManager.createJarStructure ( progress ) );

        // Content
        containerTransition = new ComponentTransition ( exampleTabs );
        containerTransition.setTransitionEffect ( new FadeTransitionEffect () );
        containerTransition.addTransitionListener ( new TransitionAdapter ()
        {
            @Override
            public void transitionFinished ()
            {
                // To show back tooltip once
                if ( !isSourceTipShownOnce () && containerTransition.getContent () == sourceViewer )
                {
                    // Marking the fact we already seen this tip
                    setSourceTipShownOnce ();

                    // Showing helpful tip
                    TooltipManager.showOneTimeTooltip ( locationBreadcrumb.getComponent ( 0 ), null, infoIcon,
                            "You can go back to demos at anytime " + "using this breadcrumb", TooltipWay.up );
                }
            }
        } );

        contentPane.add ( containerTransition, BorderLayout.CENTER );

        // Status bar
        contentPane.add ( createStatusBar (), BorderLayout.SOUTH );
        exampleTabs.setSelectedIndex ( 0 );

        // Base content
        appearanceTransition = new ComponentTransition ( createBackgroundPanel () )
        {
            @Override
            public Dimension getPreferredSize ()
            {
                return contentPane.getPreferredSize ();
            }
        };
        final CurtainTransitionEffect effect = new CurtainTransitionEffect ();
        effect.setDirection ( Direction.down );
        effect.setType ( CurtainType.fade );
View Full Code Here

TOP

Related Classes of com.alee.laf.panel.WebPanel

Copyright © 2018 www.massapicom. 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.