All Downloads are FREE. Search and download functionalities are using the official Maven repository.

test.TabbedPaneTest Maven / Gradle / Ivy

Go to download

A Mavenisation of the Quaqua Mac OSX Swing Look and Feel (Java library) Quaqua Look and Feel (C) 2003-2017, Werner Randelshofer. Mavenisation by Matt Gumbley, DevZendo.org - for problems with Mavenisation, see Matt; for issues with Quaqua, see the Quaqua home page. For full license details, see http://randelshofer.ch/quaqua/license.html

The newest version!
/*
 * @(#)TabbedPaneTest.java  1.0  12 February 2005
 *
 * Copyright (c) 2004 Werner Randelshofer, Switzerland.
 * You may not use, copy or modify this file, except in compliance with the
 * accompanying license terms.
 */
package test;

import ch.randelshofer.quaqua.*;
import ch.randelshofer.quaqua.util.*;
import java.awt.Component;
import java.awt.FlowLayout;
import java.awt.GridBagConstraints;
import java.awt.GridBagLayout;
import java.awt.Insets;
import javax.swing.*;
import javax.swing.border.EmptyBorder;

/**
 * TabbedPaneTest.
 *
 * @author  Werner Randelshofer
 * @version 1.0  12 February 2005  Created.
 */
public class TabbedPaneTest extends javax.swing.JPanel {
private final static        String[] strings = {"Apple", "Banana", "Cantaloupe", "Cherry", "Grape", "Lemon", "Mango", "Melon", "Orange", "Peach", "Pear", "Pineapple", "Plum", "Strawberry"};

    /** Creates new form. */
    public TabbedPaneTest() {
        initComponents();
        tabbedPane1.setTabLayoutPolicy(JTabbedPane.WRAP_TAB_LAYOUT);

        for (String s : strings) {
            JPanel p = new JPanel();
            tabbedPane1.add(p, s);
        }

        // Try to get a better layout with J2SE6
        try {
            int BASELINE_LEADING = GridBagConstraints.class.getDeclaredField("BASELINE_LEADING").getInt(null);
            GridBagLayout layout = (GridBagLayout) getLayout();
            for (Component c : getComponents()) {
                GridBagConstraints gbc = layout.getConstraints(c);
                if (gbc.anchor == GridBagConstraints.WEST) {
                    gbc.anchor = BASELINE_LEADING;
                    layout.setConstraints(c, gbc);
                }
            }
        } catch (Exception ex) {
            // bail
        }

    }

    public static void main(String args[]) {
        try {
            UIManager.setLookAndFeel(QuaquaManager.getLookAndFeelClassName());
        } catch (Exception e) {
            e.printStackTrace();
        }
        JFrame f = new JFrame("TabbedPaneTest: " + UIManager.getLookAndFeel().getName());
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.getContentPane().add(new TabbedPaneTest());
        f.pack();
        f.setVisible(true);
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    // //GEN-BEGIN:initComponents
    private void initComponents() {
        java.awt.GridBagConstraints gridBagConstraints;

        sizeVariantGroup = new javax.swing.ButtonGroup();
        tabLayoutPolicyGroup = new javax.swing.ButtonGroup();
        tabPlacementGroup = new javax.swing.ButtonGroup();
        tabCountGroup = new javax.swing.ButtonGroup();
        tabbedPane1 = new javax.swing.JTabbedPane();
        jSeparator1 = new javax.swing.JSeparator();
        regularRadio = new javax.swing.JRadioButton();
        smallRadio = new javax.swing.JRadioButton();
        miniRadio = new javax.swing.JRadioButton();
        wrapRadio = new javax.swing.JRadioButton();
        scrollRadio = new javax.swing.JRadioButton();
        topRadio = new javax.swing.JRadioButton();
        rightRadio = new javax.swing.JRadioButton();
        bottomRadio = new javax.swing.JRadioButton();
        leftRadio = new javax.swing.JRadioButton();
        enabledCheck = new javax.swing.JCheckBox();
        buttonInTabs = new javax.swing.JCheckBox();
        manyTabsRadio = new javax.swing.JRadioButton();
        fewTabsRadio = new javax.swing.JRadioButton();

        setBorder(javax.swing.BorderFactory.createEmptyBorder(16, 17, 17, 17));
        setLayout(new java.awt.GridBagLayout());
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
        gridBagConstraints.fill = java.awt.GridBagConstraints.BOTH;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.weighty = 1.0;
        add(tabbedPane1, gridBagConstraints);
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridwidth = java.awt.GridBagConstraints.REMAINDER;
        gridBagConstraints.fill = java.awt.GridBagConstraints.HORIZONTAL;
        gridBagConstraints.weightx = 1.0;
        gridBagConstraints.insets = new java.awt.Insets(10, 0, 10, 0);
        add(jSeparator1, gridBagConstraints);

        sizeVariantGroup.add(regularRadio);
        regularRadio.setSelected(true);
        regularRadio.setText("Regular");
        regularRadio.setActionCommand("regular");
        regularRadio.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                sizeVariantChanged(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        add(regularRadio, gridBagConstraints);

        sizeVariantGroup.add(smallRadio);
        smallRadio.setText("Small");
        smallRadio.setActionCommand("small");
        smallRadio.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                sizeVariantChanged(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        add(smallRadio, gridBagConstraints);

        sizeVariantGroup.add(miniRadio);
        miniRadio.setText("Mini");
        miniRadio.setActionCommand("mini");
        miniRadio.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                sizeVariantChanged(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 0;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        add(miniRadio, gridBagConstraints);

        tabLayoutPolicyGroup.add(wrapRadio);
        wrapRadio.setSelected(true);
        wrapRadio.setText("Wrap");
        wrapRadio.setActionCommand("wrap");
        wrapRadio.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                tabLayoutPolicyChanged(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.insets = new java.awt.Insets(0, 20, 0, 0);
        add(wrapRadio, gridBagConstraints);

        tabLayoutPolicyGroup.add(scrollRadio);
        scrollRadio.setText("Scroll");
        scrollRadio.setActionCommand("scroll");
        scrollRadio.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                tabLayoutPolicyChanged(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 1;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.insets = new java.awt.Insets(0, 20, 0, 0);
        add(scrollRadio, gridBagConstraints);

        tabPlacementGroup.add(topRadio);
        topRadio.setSelected(true);
        topRadio.setText("Top");
        topRadio.setActionCommand("top");
        topRadio.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                tabPlacementChanged(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 2;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.insets = new java.awt.Insets(0, 20, 0, 0);
        add(topRadio, gridBagConstraints);

        tabPlacementGroup.add(rightRadio);
        rightRadio.setText("Right");
        rightRadio.setActionCommand("right");
        rightRadio.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                tabPlacementChanged(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 2;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.insets = new java.awt.Insets(0, 20, 0, 0);
        add(rightRadio, gridBagConstraints);

        tabPlacementGroup.add(bottomRadio);
        bottomRadio.setText("Bottom");
        bottomRadio.setActionCommand("bottom");
        bottomRadio.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                tabPlacementChanged(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 2;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.insets = new java.awt.Insets(0, 20, 0, 0);
        add(bottomRadio, gridBagConstraints);

        tabPlacementGroup.add(leftRadio);
        leftRadio.setText("Left");
        leftRadio.setActionCommand("left");
        leftRadio.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                tabPlacementChanged(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 2;
        gridBagConstraints.gridy = 5;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.insets = new java.awt.Insets(0, 20, 0, 0);
        add(leftRadio, gridBagConstraints);

        enabledCheck.setSelected(true);
        enabledCheck.setText("Enabled");
        enabledCheck.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                enabledChanged(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.insets = new java.awt.Insets(0, 20, 0, 0);
        add(enabledCheck, gridBagConstraints);

        buttonInTabs.setText("Button in Tabs");
        buttonInTabs.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                buttonInTabsChanged(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 3;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        gridBagConstraints.insets = new java.awt.Insets(0, 20, 0, 0);
        add(buttonInTabs, gridBagConstraints);

        tabCountGroup.add(manyTabsRadio);
        manyTabsRadio.setSelected(true);
        manyTabsRadio.setText("Many Tabs");
        manyTabsRadio.setActionCommand("14");
        manyTabsRadio.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                tabCountChanged(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 4;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        add(manyTabsRadio, gridBagConstraints);

        tabCountGroup.add(fewTabsRadio);
        fewTabsRadio.setText("Few Tabs");
        fewTabsRadio.setActionCommand("4");
        fewTabsRadio.addItemListener(new java.awt.event.ItemListener() {
            public void itemStateChanged(java.awt.event.ItemEvent evt) {
                tabCountChanged(evt);
            }
        });
        gridBagConstraints = new java.awt.GridBagConstraints();
        gridBagConstraints.gridx = 4;
        gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST;
        add(fewTabsRadio, gridBagConstraints);
    }// //GEN-END:initComponents

    private void sizeVariantChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_sizeVariantChanged
        String cmd = sizeVariantGroup.getSelection().getActionCommand();
        tabbedPane1.putClientProperty("JComponent.sizeVariant", cmd);
        // tabbedPane1.setUI(tabbedPane1.getUI()); // force ui update 
    }//GEN-LAST:event_sizeVariantChanged

    private void enabledChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_enabledChanged
        tabbedPane1.setEnabled(enabledCheck.isSelected());
    }//GEN-LAST:event_enabledChanged

    private void tabLayoutPolicyChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_tabLayoutPolicyChanged
        String cmd = tabLayoutPolicyGroup.getSelection().getActionCommand();
        tabbedPane1.setTabLayoutPolicy("wrap".equals(cmd) ? JTabbedPane.WRAP_TAB_LAYOUT : JTabbedPane.SCROLL_TAB_LAYOUT);
    }//GEN-LAST:event_tabLayoutPolicyChanged

    private void tabPlacementChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_tabPlacementChanged
        String cmd = tabPlacementGroup.getSelection().getActionCommand();
        int p = JTabbedPane.TOP;
        if ("top".equals(cmd)) {
            p = JTabbedPane.TOP;
        } else if ("right".equals(cmd)) {
            p = JTabbedPane.RIGHT;
        } else if ("bottom".equals(cmd)) {
            p = JTabbedPane.BOTTOM;
        } else if ("left".equals(cmd)) {
            p = JTabbedPane.LEFT;
        }
        tabbedPane1.setTabPlacement(p);
    }//GEN-LAST:event_tabPlacementChanged

    private void buttonInTabsChanged(java.awt.event.ItemEvent evt) {//GEN-FIRST:event_buttonInTabsChanged
        boolean b = buttonInTabs.isSelected();
        if (b) {
            for (int i=0,n=tabbedPane1.getTabCount();i




© 2015 - 2025 Weber Informatics LLC | Privacy Policy