diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatContainerTest.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatContainerTest.java index d58897e8..79ebdb5b 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatContainerTest.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatContainerTest.java @@ -251,7 +251,7 @@ public class FlatContainerTest } private void leadingComponentChanged() { - leadingTrailingComponentChanged( leadingComponentCheckBox.isSelected(), TABBED_PANE_LEADING_COMPONENT, "Leading", 4 ); + leadingTrailingComponentChanged( leadingComponentCheckBox.isSelected(), TABBED_PANE_LEADING_COMPONENT, "L", 4 ); } private void trailingComponentChanged() { @@ -298,6 +298,11 @@ public class FlatContainerTest } } + private void tabAreaInsetsChanged() { + UIManager.put( "TabbedPane.tabAreaInsets", tabAreaInsetsCheckBox.isSelected() ? new Insets( 10, 10, 25, 25 ) : null ); + FlatLaf.updateUI(); + } + private void smallerTabHeightChanged() { Integer tabHeight = smallerTabHeightCheckBox.isSelected() ? 26 : null; putTabbedPanesClientProperty( TABBED_PANE_TAB_HEIGHT, tabHeight ); @@ -337,27 +342,28 @@ public class FlatContainerTest tabbedPane2 = new JTabbedPane(); tabbedPane4 = new JTabbedPane(); FlatTestFrame.NoRightToLeftPanel tabbedPaneControlPanel = new FlatTestFrame.NoRightToLeftPanel(); + tabScrollCheckBox = new JCheckBox(); JLabel tabCountLabel = new JLabel(); tabCountSpinner = new JSpinner(); - tabScrollCheckBox = new JCheckBox(); - showTabSeparatorsCheckBox = new JCheckBox(); - hideContentSeparatorCheckBox = new JCheckBox(); - tabIconsCheckBox = new JCheckBox(); - tabIconSizeSpinner = new JSpinner(); - customBorderCheckBox = new JCheckBox(); customTabsCheckBox = new JCheckBox(); - hasFullBorderCheckBox = new JCheckBox(); - JLabel tabPlacementLabel = new JLabel(); - tabPlacementField = new JComboBox<>(); JLabel hiddenTabsNavigationLabel = new JLabel(); hiddenTabsNavigationField = new JComboBox<>(); tabBackForegroundCheckBox = new JCheckBox(); - leadingComponentCheckBox = new JCheckBox(); - trailingComponentCheckBox = new JCheckBox(); + JLabel tabPlacementLabel = new JLabel(); + tabPlacementField = new JComboBox<>(); + tabIconsCheckBox = new JCheckBox(); + tabIconSizeSpinner = new JSpinner(); tabsClosableCheckBox = new JCheckBox(); + customBorderCheckBox = new JCheckBox(); + tabAreaInsetsCheckBox = new JCheckBox(); secondTabClosableCheckBox = new TriStateCheckBox(); + hasFullBorderCheckBox = new JCheckBox(); smallerTabHeightCheckBox = new JCheckBox(); + leadingComponentCheckBox = new JCheckBox(); + hideContentSeparatorCheckBox = new JCheckBox(); smallerInsetsCheckBox = new JCheckBox(); + trailingComponentCheckBox = new JCheckBox(); + showTabSeparatorsCheckBox = new JCheckBox(); secondTabWiderCheckBox = new JCheckBox(); CellConstraints cc = new CellConstraints(); @@ -374,7 +380,7 @@ public class FlatContainerTest panel9.setOpaque(false); panel9.setLayout(new FormLayout( "70dlu:grow, $ugap, 70dlu:grow", - "default, $lgap, fill:70dlu, $pgap, pref, $lgap, 2*(fill:80dlu:grow, $ugap), pref")); + "default, $lgap, fill:70dlu, $pgap, pref, $lgap, fill:80dlu:grow, $ugap, fill:80dlu:grow, $pgap, pref")); //---- splitPaneLabel ---- splitPaneLabel.setText("JSplitPane:"); @@ -466,66 +472,53 @@ public class FlatContainerTest // columns "[]" + "[fill]" + - "[]" + - "[]" + - "[fill]", + "[]", // rows "[center]" + "[]" + + "[]para" + "[]" + + "[]para" + "[]" + "[]")); + //---- tabScrollCheckBox ---- + tabScrollCheckBox.setText("Use scroll layout"); + tabScrollCheckBox.setMnemonic('S'); + tabScrollCheckBox.addActionListener(e -> tabScrollChanged()); + tabbedPaneControlPanel.add(tabScrollCheckBox, "cell 0 0,alignx left,growx 0"); + //---- tabCountLabel ---- tabCountLabel.setText("Tab count:"); - tabbedPaneControlPanel.add(tabCountLabel, "cell 0 0"); + tabbedPaneControlPanel.add(tabCountLabel, "cell 1 0"); //---- tabCountSpinner ---- tabCountSpinner.setModel(new SpinnerNumberModel(4, 0, null, 1)); tabCountSpinner.addChangeListener(e -> tabCountChanged()); tabbedPaneControlPanel.add(tabCountSpinner, "cell 1 0"); - //---- tabScrollCheckBox ---- - tabScrollCheckBox.setText("Use scroll layout"); - tabScrollCheckBox.setMnemonic('S'); - tabScrollCheckBox.addActionListener(e -> tabScrollChanged()); - tabbedPaneControlPanel.add(tabScrollCheckBox, "cell 2 0,alignx left,growx 0"); - - //---- showTabSeparatorsCheckBox ---- - showTabSeparatorsCheckBox.setText("Show tab separators"); - showTabSeparatorsCheckBox.addActionListener(e -> showTabSeparatorsChanged()); - tabbedPaneControlPanel.add(showTabSeparatorsCheckBox, "cell 3 0"); - - //---- hideContentSeparatorCheckBox ---- - hideContentSeparatorCheckBox.setText("Hide content separator"); - hideContentSeparatorCheckBox.addActionListener(e -> hideContentSeparatorChanged()); - tabbedPaneControlPanel.add(hideContentSeparatorCheckBox, "cell 4 0"); - - //---- tabIconsCheckBox ---- - tabIconsCheckBox.setText("Tab icons"); - tabIconsCheckBox.addActionListener(e -> tabIconsChanged()); - tabbedPaneControlPanel.add(tabIconsCheckBox, "cell 0 1"); - - //---- tabIconSizeSpinner ---- - tabIconSizeSpinner.setModel(new SpinnerListModel(new String[] {"16", "24", "32", "48", "64"})); - tabIconSizeSpinner.setEnabled(false); - tabIconSizeSpinner.addChangeListener(e -> tabIconsChanged()); - tabbedPaneControlPanel.add(tabIconSizeSpinner, "cell 1 1"); - - //---- customBorderCheckBox ---- - customBorderCheckBox.setText("Custom border"); - customBorderCheckBox.addActionListener(e -> customBorderChanged()); - tabbedPaneControlPanel.add(customBorderCheckBox, "cell 2 1"); - //---- customTabsCheckBox ---- customTabsCheckBox.setText("Custom tabs"); customTabsCheckBox.addActionListener(e -> customTabsChanged()); - tabbedPaneControlPanel.add(customTabsCheckBox, "cell 3 1"); + tabbedPaneControlPanel.add(customTabsCheckBox, "cell 2 0"); - //---- hasFullBorderCheckBox ---- - hasFullBorderCheckBox.setText("Show content border"); - hasFullBorderCheckBox.addActionListener(e -> hasFullBorderChanged()); - tabbedPaneControlPanel.add(hasFullBorderCheckBox, "cell 4 1,alignx left,growx 0"); + //---- hiddenTabsNavigationLabel ---- + hiddenTabsNavigationLabel.setText("Hidden tabs navigation:"); + tabbedPaneControlPanel.add(hiddenTabsNavigationLabel, "cell 0 1"); + + //---- hiddenTabsNavigationField ---- + hiddenTabsNavigationField.setModel(new DefaultComboBoxModel<>(new String[] { + "default", + "moreTabsButton", + "arrowButtons" + })); + hiddenTabsNavigationField.addActionListener(e -> hiddenTabsNavigationChanged()); + tabbedPaneControlPanel.add(hiddenTabsNavigationField, "cell 1 1"); + + //---- tabBackForegroundCheckBox ---- + tabBackForegroundCheckBox.setText("Tab back/foreground"); + tabBackForegroundCheckBox.addActionListener(e -> tabBackForegroundChanged()); + tabbedPaneControlPanel.add(tabBackForegroundCheckBox, "cell 2 1"); //---- tabPlacementLabel ---- tabPlacementLabel.setText("Tab placement:"); @@ -542,58 +535,76 @@ public class FlatContainerTest tabPlacementField.addActionListener(e -> tabPlacementChanged()); tabbedPaneControlPanel.add(tabPlacementField, "cell 1 2"); - //---- hiddenTabsNavigationLabel ---- - hiddenTabsNavigationLabel.setText("Hidden tabs navigation:"); - tabbedPaneControlPanel.add(hiddenTabsNavigationLabel, "cell 2 2"); + //---- tabIconsCheckBox ---- + tabIconsCheckBox.setText("Tab icons"); + tabIconsCheckBox.addActionListener(e -> tabIconsChanged()); + tabbedPaneControlPanel.add(tabIconsCheckBox, "cell 2 2"); - //---- hiddenTabsNavigationField ---- - hiddenTabsNavigationField.setModel(new DefaultComboBoxModel<>(new String[] { - "default", - "moreTabsButton", - "arrowButtons" - })); - hiddenTabsNavigationField.addActionListener(e -> hiddenTabsNavigationChanged()); - tabbedPaneControlPanel.add(hiddenTabsNavigationField, "cell 3 2"); - - //---- tabBackForegroundCheckBox ---- - tabBackForegroundCheckBox.setText("Tab back/foreground"); - tabBackForegroundCheckBox.addActionListener(e -> tabBackForegroundChanged()); - tabbedPaneControlPanel.add(tabBackForegroundCheckBox, "cell 4 2"); - - //---- leadingComponentCheckBox ---- - leadingComponentCheckBox.setText("Leading"); - leadingComponentCheckBox.addActionListener(e -> leadingComponentChanged()); - tabbedPaneControlPanel.add(leadingComponentCheckBox, "cell 0 3"); - - //---- trailingComponentCheckBox ---- - trailingComponentCheckBox.setText("Trailing"); - trailingComponentCheckBox.addActionListener(e -> trailingComponentChanged()); - tabbedPaneControlPanel.add(trailingComponentCheckBox, "cell 1 3"); + //---- tabIconSizeSpinner ---- + tabIconSizeSpinner.setModel(new SpinnerListModel(new String[] {"16", "24", "32", "48", "64"})); + tabIconSizeSpinner.setEnabled(false); + tabIconSizeSpinner.addChangeListener(e -> tabIconsChanged()); + tabbedPaneControlPanel.add(tabIconSizeSpinner, "cell 2 2"); //---- tabsClosableCheckBox ---- tabsClosableCheckBox.setText("Tabs closable"); tabsClosableCheckBox.addActionListener(e -> tabsClosableChanged()); - tabbedPaneControlPanel.add(tabsClosableCheckBox, "cell 2 3"); + tabbedPaneControlPanel.add(tabsClosableCheckBox, "cell 0 3"); + + //---- customBorderCheckBox ---- + customBorderCheckBox.setText("Custom border"); + customBorderCheckBox.addActionListener(e -> customBorderChanged()); + tabbedPaneControlPanel.add(customBorderCheckBox, "cell 1 3"); + + //---- tabAreaInsetsCheckBox ---- + tabAreaInsetsCheckBox.setText("Tab area insets (10,10,25,25)"); + tabAreaInsetsCheckBox.addActionListener(e -> tabAreaInsetsChanged()); + tabbedPaneControlPanel.add(tabAreaInsetsCheckBox, "cell 2 3"); //---- secondTabClosableCheckBox ---- secondTabClosableCheckBox.setText("Second Tab closable"); secondTabClosableCheckBox.addActionListener(e -> secondTabClosableChanged()); - tabbedPaneControlPanel.add(secondTabClosableCheckBox, "cell 3 3"); + tabbedPaneControlPanel.add(secondTabClosableCheckBox, "cell 0 4"); + + //---- hasFullBorderCheckBox ---- + hasFullBorderCheckBox.setText("Show content border"); + hasFullBorderCheckBox.addActionListener(e -> hasFullBorderChanged()); + tabbedPaneControlPanel.add(hasFullBorderCheckBox, "cell 1 4,alignx left,growx 0"); //---- smallerTabHeightCheckBox ---- smallerTabHeightCheckBox.setText("Smaller tab height (26)"); smallerTabHeightCheckBox.addActionListener(e -> smallerTabHeightChanged()); - tabbedPaneControlPanel.add(smallerTabHeightCheckBox, "cell 0 4 2 1"); + tabbedPaneControlPanel.add(smallerTabHeightCheckBox, "cell 2 4"); + + //---- leadingComponentCheckBox ---- + leadingComponentCheckBox.setText("Leading component"); + leadingComponentCheckBox.addActionListener(e -> leadingComponentChanged()); + tabbedPaneControlPanel.add(leadingComponentCheckBox, "cell 0 5"); + + //---- hideContentSeparatorCheckBox ---- + hideContentSeparatorCheckBox.setText("Hide content separator"); + hideContentSeparatorCheckBox.addActionListener(e -> hideContentSeparatorChanged()); + tabbedPaneControlPanel.add(hideContentSeparatorCheckBox, "cell 1 5"); //---- smallerInsetsCheckBox ---- - smallerInsetsCheckBox.setText("Smaller insets (2,2,2,2)"); + smallerInsetsCheckBox.setText("Smaller tab insets (2,2,2,2)"); smallerInsetsCheckBox.addActionListener(e -> smallerInsetsChanged()); - tabbedPaneControlPanel.add(smallerInsetsCheckBox, "cell 2 4"); + tabbedPaneControlPanel.add(smallerInsetsCheckBox, "cell 2 5"); + + //---- trailingComponentCheckBox ---- + trailingComponentCheckBox.setText("Trailing component"); + trailingComponentCheckBox.addActionListener(e -> trailingComponentChanged()); + tabbedPaneControlPanel.add(trailingComponentCheckBox, "cell 0 6"); + + //---- showTabSeparatorsCheckBox ---- + showTabSeparatorsCheckBox.setText("Show tab separators"); + showTabSeparatorsCheckBox.addActionListener(e -> showTabSeparatorsChanged()); + tabbedPaneControlPanel.add(showTabSeparatorsCheckBox, "cell 1 6"); //---- secondTabWiderCheckBox ---- - secondTabWiderCheckBox.setText("Second Tab wider (4,20,4,20)"); + secondTabWiderCheckBox.setText("Second Tab insets wider (4,20,4,20)"); secondTabWiderCheckBox.addActionListener(e -> secondTabWiderChanged()); - tabbedPaneControlPanel.add(secondTabWiderCheckBox, "cell 3 4 2 1"); + tabbedPaneControlPanel.add(secondTabWiderCheckBox, "cell 2 6"); } panel9.add(tabbedPaneControlPanel, cc.xywh(1, 11, 3, 1)); } @@ -606,24 +617,25 @@ public class FlatContainerTest private JTabbedPane tabbedPane3; private JTabbedPane tabbedPane2; private JTabbedPane tabbedPane4; - private JSpinner tabCountSpinner; private JCheckBox tabScrollCheckBox; - private JCheckBox showTabSeparatorsCheckBox; - private JCheckBox hideContentSeparatorCheckBox; - private JCheckBox tabIconsCheckBox; - private JSpinner tabIconSizeSpinner; - private JCheckBox customBorderCheckBox; + private JSpinner tabCountSpinner; private JCheckBox customTabsCheckBox; - private JCheckBox hasFullBorderCheckBox; - private JComboBox tabPlacementField; private JComboBox hiddenTabsNavigationField; private JCheckBox tabBackForegroundCheckBox; - private JCheckBox leadingComponentCheckBox; - private JCheckBox trailingComponentCheckBox; + private JComboBox tabPlacementField; + private JCheckBox tabIconsCheckBox; + private JSpinner tabIconSizeSpinner; private JCheckBox tabsClosableCheckBox; + private JCheckBox customBorderCheckBox; + private JCheckBox tabAreaInsetsCheckBox; private TriStateCheckBox secondTabClosableCheckBox; + private JCheckBox hasFullBorderCheckBox; private JCheckBox smallerTabHeightCheckBox; + private JCheckBox leadingComponentCheckBox; + private JCheckBox hideContentSeparatorCheckBox; private JCheckBox smallerInsetsCheckBox; + private JCheckBox trailingComponentCheckBox; + private JCheckBox showTabSeparatorsCheckBox; private JCheckBox secondTabWiderCheckBox; // JFormDesigner - End of variables declaration //GEN-END:variables diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatContainerTest.jfd b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatContainerTest.jfd index 0ff55075..789f156b 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatContainerTest.jfd +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatContainerTest.jfd @@ -14,7 +14,7 @@ new FormModel { name: "this" add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class com.jgoodies.forms.layout.FormLayout ) { "$columnSpecs": "70dlu:grow, unrelgap, 70dlu:grow" - "$rowSpecs": "default, linegap, fill:70dlu, pargap, pref, linegap, fill:80dlu:grow, unrelgap, fill:80dlu:grow, unrelgap, pref" + "$rowSpecs": "default, linegap, fill:70dlu, pargap, pref, linegap, fill:80dlu:grow, unrelgap, fill:80dlu:grow, pargap, pref" } ) { name: "panel9" "opaque": false @@ -131,16 +131,27 @@ new FormModel { } ) add( new FormContainer( "com.formdev.flatlaf.testing.FlatTestFrame$NoRightToLeftPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) { "$layoutConstraints": "insets 0,hidemode 3" - "$columnConstraints": "[][fill][][][fill]" - "$rowConstraints": "[center][][][][]" + "$columnConstraints": "[][fill][]" + "$rowConstraints": "[center][][]para[][]para[][]" } ) { name: "tabbedPaneControlPanel" "opaque": false + add( new FormComponent( "javax.swing.JCheckBox" ) { + name: "tabScrollCheckBox" + "text": "Use scroll layout" + "mnemonic": 83 + auxiliary() { + "JavaCodeGenerator.variableLocal": false + } + addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "tabScrollChanged", false ) ) + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 0,alignx left,growx 0" + } ) add( new FormComponent( "javax.swing.JLabel" ) { name: "tabCountLabel" "text": "Tab count:" }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 0 0" + "value": "cell 1 0" } ) add( new FormComponent( "javax.swing.JSpinner" ) { name: "tabCountSpinner" @@ -155,76 +166,6 @@ new FormModel { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 0" } ) - add( new FormComponent( "javax.swing.JCheckBox" ) { - name: "tabScrollCheckBox" - "text": "Use scroll layout" - "mnemonic": 83 - auxiliary() { - "JavaCodeGenerator.variableLocal": false - } - addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "tabScrollChanged", false ) ) - }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 2 0,alignx left,growx 0" - } ) - add( new FormComponent( "javax.swing.JCheckBox" ) { - name: "showTabSeparatorsCheckBox" - "text": "Show tab separators" - auxiliary() { - "JavaCodeGenerator.variableLocal": false - } - addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "showTabSeparatorsChanged", false ) ) - }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 3 0" - } ) - add( new FormComponent( "javax.swing.JCheckBox" ) { - name: "hideContentSeparatorCheckBox" - "text": "Hide content separator" - auxiliary() { - "JavaCodeGenerator.variableLocal": false - } - addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "hideContentSeparatorChanged", false ) ) - }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 4 0" - } ) - add( new FormComponent( "javax.swing.JCheckBox" ) { - name: "tabIconsCheckBox" - "text": "Tab icons" - auxiliary() { - "JavaCodeGenerator.variableLocal": false - } - addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "tabIconsChanged", false ) ) - }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 0 1" - } ) - add( new FormComponent( "javax.swing.JSpinner" ) { - name: "tabIconSizeSpinner" - "model": new javax.swing.SpinnerListModel { - list: new java.util.ArrayList { - add( "16" ) - add( "24" ) - add( "32" ) - add( "48" ) - add( "64" ) - } - } - "enabled": false - auxiliary() { - "JavaCodeGenerator.variableLocal": false - } - addEvent( new FormEvent( "javax.swing.event.ChangeListener", "stateChanged", "tabIconsChanged", false ) ) - }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 1 1" - } ) - add( new FormComponent( "javax.swing.JCheckBox" ) { - name: "customBorderCheckBox" - "text": "Custom border" - auxiliary() { - "JavaCodeGenerator.variableLocal": false - } - addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "customBorderChanged", false ) ) - }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 2 1" - } ) add( new FormComponent( "javax.swing.JCheckBox" ) { name: "customTabsCheckBox" "text": "Custom tabs" @@ -233,17 +174,39 @@ new FormModel { } addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "customTabsChanged", false ) ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 3 1" + "value": "cell 2 0" + } ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "hiddenTabsNavigationLabel" + "text": "Hidden tabs navigation:" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 1" + } ) + add( new FormComponent( "javax.swing.JComboBox" ) { + name: "hiddenTabsNavigationField" + "model": new javax.swing.DefaultComboBoxModel { + selectedItem: "default" + addElement( "default" ) + addElement( "moreTabsButton" ) + addElement( "arrowButtons" ) + } + auxiliary() { + "JavaCodeGenerator.variableLocal": false + "JavaCodeGenerator.typeParameters": "String" + } + addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "hiddenTabsNavigationChanged", false ) ) + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 1" } ) add( new FormComponent( "javax.swing.JCheckBox" ) { - name: "hasFullBorderCheckBox" - "text": "Show content border" + name: "tabBackForegroundCheckBox" + "text": "Tab back/foreground" auxiliary() { "JavaCodeGenerator.variableLocal": false } - addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "hasFullBorderChanged", false ) ) + addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "tabBackForegroundChanged", false ) ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 4 1,alignx left,growx 0" + "value": "cell 2 1" } ) add( new FormComponent( "javax.swing.JLabel" ) { name: "tabPlacementLabel" @@ -269,57 +232,34 @@ new FormModel { }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 1 2" } ) - add( new FormComponent( "javax.swing.JLabel" ) { - name: "hiddenTabsNavigationLabel" - "text": "Hidden tabs navigation:" + add( new FormComponent( "javax.swing.JCheckBox" ) { + name: "tabIconsCheckBox" + "text": "Tab icons" + auxiliary() { + "JavaCodeGenerator.variableLocal": false + } + addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "tabIconsChanged", false ) ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 2 2" } ) - add( new FormComponent( "javax.swing.JComboBox" ) { - name: "hiddenTabsNavigationField" - "model": new javax.swing.DefaultComboBoxModel { - selectedItem: "default" - addElement( "default" ) - addElement( "moreTabsButton" ) - addElement( "arrowButtons" ) + add( new FormComponent( "javax.swing.JSpinner" ) { + name: "tabIconSizeSpinner" + "model": new javax.swing.SpinnerListModel { + list: new java.util.ArrayList { + add( "16" ) + add( "24" ) + add( "32" ) + add( "48" ) + add( "64" ) + } } - auxiliary() { - "JavaCodeGenerator.variableLocal": false - "JavaCodeGenerator.typeParameters": "String" - } - addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "hiddenTabsNavigationChanged", false ) ) - }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 3 2" - } ) - add( new FormComponent( "javax.swing.JCheckBox" ) { - name: "tabBackForegroundCheckBox" - "text": "Tab back/foreground" + "enabled": false auxiliary() { "JavaCodeGenerator.variableLocal": false } - addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "tabBackForegroundChanged", false ) ) + addEvent( new FormEvent( "javax.swing.event.ChangeListener", "stateChanged", "tabIconsChanged", false ) ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 4 2" - } ) - add( new FormComponent( "javax.swing.JCheckBox" ) { - name: "leadingComponentCheckBox" - "text": "Leading" - auxiliary() { - "JavaCodeGenerator.variableLocal": false - } - addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "leadingComponentChanged", false ) ) - }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 0 3" - } ) - add( new FormComponent( "javax.swing.JCheckBox" ) { - name: "trailingComponentCheckBox" - "text": "Trailing" - auxiliary() { - "JavaCodeGenerator.variableLocal": false - } - addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "trailingComponentChanged", false ) ) - }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 1 3" + "value": "cell 2 2" } ) add( new FormComponent( "javax.swing.JCheckBox" ) { name: "tabsClosableCheckBox" @@ -328,6 +268,26 @@ new FormModel { "JavaCodeGenerator.variableLocal": false } addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "tabsClosableChanged", false ) ) + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 3" + } ) + add( new FormComponent( "javax.swing.JCheckBox" ) { + name: "customBorderCheckBox" + "text": "Custom border" + auxiliary() { + "JavaCodeGenerator.variableLocal": false + } + addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "customBorderChanged", false ) ) + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 3" + } ) + add( new FormComponent( "javax.swing.JCheckBox" ) { + name: "tabAreaInsetsCheckBox" + "text": "Tab area insets (10,10,25,25)" + auxiliary() { + "JavaCodeGenerator.variableLocal": false + } + addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "tabAreaInsetsChanged", false ) ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { "value": "cell 2 3" } ) @@ -339,7 +299,17 @@ new FormModel { } addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "secondTabClosableChanged", false ) ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 3 3" + "value": "cell 0 4" + } ) + add( new FormComponent( "javax.swing.JCheckBox" ) { + name: "hasFullBorderCheckBox" + "text": "Show content border" + auxiliary() { + "JavaCodeGenerator.variableLocal": false + } + addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "hasFullBorderChanged", false ) ) + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 4,alignx left,growx 0" } ) add( new FormComponent( "javax.swing.JCheckBox" ) { name: "smallerTabHeightCheckBox" @@ -349,27 +319,67 @@ new FormModel { } addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "smallerTabHeightChanged", false ) ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 0 4 2 1" + "value": "cell 2 4" + } ) + add( new FormComponent( "javax.swing.JCheckBox" ) { + name: "leadingComponentCheckBox" + "text": "Leading component" + auxiliary() { + "JavaCodeGenerator.variableLocal": false + } + addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "leadingComponentChanged", false ) ) + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 5" + } ) + add( new FormComponent( "javax.swing.JCheckBox" ) { + name: "hideContentSeparatorCheckBox" + "text": "Hide content separator" + auxiliary() { + "JavaCodeGenerator.variableLocal": false + } + addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "hideContentSeparatorChanged", false ) ) + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 5" } ) add( new FormComponent( "javax.swing.JCheckBox" ) { name: "smallerInsetsCheckBox" - "text": "Smaller insets (2,2,2,2)" + "text": "Smaller tab insets (2,2,2,2)" auxiliary() { "JavaCodeGenerator.variableLocal": false } addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "smallerInsetsChanged", false ) ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 2 4" + "value": "cell 2 5" + } ) + add( new FormComponent( "javax.swing.JCheckBox" ) { + name: "trailingComponentCheckBox" + "text": "Trailing component" + auxiliary() { + "JavaCodeGenerator.variableLocal": false + } + addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "trailingComponentChanged", false ) ) + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 6" + } ) + add( new FormComponent( "javax.swing.JCheckBox" ) { + name: "showTabSeparatorsCheckBox" + "text": "Show tab separators" + auxiliary() { + "JavaCodeGenerator.variableLocal": false + } + addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "showTabSeparatorsChanged", false ) ) + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 6" } ) add( new FormComponent( "javax.swing.JCheckBox" ) { name: "secondTabWiderCheckBox" - "text": "Second Tab wider (4,20,4,20)" + "text": "Second Tab insets wider (4,20,4,20)" auxiliary() { "JavaCodeGenerator.variableLocal": false } addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "secondTabWiderChanged", false ) ) }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { - "value": "cell 3 4 2 1" + "value": "cell 2 6" } ) }, new FormLayoutConstraints( class com.jgoodies.forms.layout.CellConstraints ) { "gridY": 11 @@ -380,7 +390,7 @@ new FormModel { } ) }, new FormLayoutConstraints( null ) { "location": new java.awt.Point( 0, 0 ) - "size": new java.awt.Dimension( 810, 655 ) + "size": new java.awt.Dimension( 810, 745 ) } ) add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) { "$layoutConstraints": "hidemode 3,align center center" @@ -410,7 +420,7 @@ new FormModel { "value": "cell 2 0" } ) }, new FormLayoutConstraints( null ) { - "location": new java.awt.Point( 0, 680 ) + "location": new java.awt.Point( 0, 790 ) "size": new java.awt.Dimension( 291, 118 ) } ) add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) { @@ -435,7 +445,7 @@ new FormModel { "value": "cell 1 0" } ) }, new FormLayoutConstraints( null ) { - "location": new java.awt.Point( 340, 680 ) + "location": new java.awt.Point( 340, 790 ) "size": new java.awt.Dimension( 291, 118 ) } ) }