From a2ac24ac74b154ba2b014059ec6f8ad7424d3dcc Mon Sep 17 00:00:00 2001 From: Karl Tauber Date: Thu, 3 Sep 2020 15:09:28 +0200 Subject: [PATCH] Demo: "SplitPane & Tabs" tab improved --- CHANGELOG.md | 8 + .../com/formdev/flatlaf/demo/TabsPanel.java | 229 ++++++------ .../com/formdev/flatlaf/demo/TabsPanel.jfd | 142 +++----- .../flatlaf/testing/FlatContainerTest.java | 339 +++++++++--------- .../flatlaf/testing/FlatContainerTest.jfd | 214 +++++------ .../testing/FlatInternalFrameTest.java | 14 +- 6 files changed, 422 insertions(+), 524 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 142654dc..82d467db 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,14 @@ FlatLaf Change Log ================== +## Unreleased + +#### New features and improvements + +- Demo: Improved "SplitPane & Tabs" and "Data Components" tabs. + + + ## 0.41 #### New features and improvements diff --git a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/TabsPanel.java b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/TabsPanel.java index 8c96683f..8e226d68 100644 --- a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/TabsPanel.java +++ b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/TabsPanel.java @@ -1,5 +1,17 @@ /* - * Created by JFormDesigner on Tue Aug 27 21:47:02 CEST 2019 + * Copyright 2020 FormDev Software GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ package com.formdev.flatlaf.demo; @@ -20,6 +32,8 @@ class TabsPanel { TabsPanel() { initComponents(); + + addInitialTabs( tabbedPane1, tabbedPane2, tabbedPane3, tabbedPane4 ); } private void tabScrollChanged() { @@ -28,8 +42,20 @@ class TabsPanel tabbedPane2.setTabLayoutPolicy( tabLayoutPolicy ); tabbedPane3.setTabLayoutPolicy( tabLayoutPolicy ); tabbedPane4.setTabLayoutPolicy( tabLayoutPolicy ); + + if( !autoMoreTabs && tabScrollCheckBox.isSelected() && !moreTabsCheckBox.isSelected() ) { + moreTabsCheckBox.setSelected( true ); + moreTabsChanged(); + autoMoreTabs = true; + } else if( autoMoreTabs && !tabScrollCheckBox.isSelected() && moreTabsCheckBox.isSelected() ) { + moreTabsCheckBox.setSelected( false ); + moreTabsChanged(); + autoMoreTabs = false; + } } + private boolean autoMoreTabs; + private void showTabSeparatorsChanged() { Boolean showTabSeparators = showTabSeparatorsCheckBox.isSelected() ? true : null; tabbedPane1.putClientProperty( TABBED_PANE_SHOW_TAB_SEPARATORS, showTabSeparators ); @@ -52,15 +78,17 @@ class TabsPanel addRemoveMoreTabs( tabbedPane2, moreTabs ); addRemoveMoreTabs( tabbedPane3, moreTabs ); addRemoveMoreTabs( tabbedPane4, moreTabs ); + + autoMoreTabs = false; } private void addRemoveMoreTabs( JTabbedPane tabbedPane, boolean add ) { if( add ) { - tabbedPane.addTab( "Tab 4", new JLabel( "tab 4" ) ); - tabbedPane.addTab( "Tab 5", new JLabel( "tab 5" ) ); - tabbedPane.addTab( "Tab 6", new JLabel( "tab 6" ) ); - tabbedPane.addTab( "Tab 7", new JLabel( "tab 7" ) ); - tabbedPane.addTab( "Tab 8", new JLabel( "tab 8" ) ); + addTab( tabbedPane, "Tab 4", "tab content 4" ); + addTab( tabbedPane, "Tab 5", "tab content 5" ); + addTab( tabbedPane, "Tab 6", "tab content 6" ); + addTab( tabbedPane, "Tab 7", "tab content 7" ); + addTab( tabbedPane, "Tab 8", "tab content 8" ); } else { int tabCount = tabbedPane.getTabCount(); if( tabCount > 3 ) { @@ -70,6 +98,39 @@ class TabsPanel } } + private void addInitialTabs( JTabbedPane... tabbedPanes ) { + for( JTabbedPane tabbedPane : tabbedPanes ) { + String placement = "unknown"; + switch( tabbedPane.getTabPlacement() ) { + case JTabbedPane.TOP: placement = "TOP"; break; + case JTabbedPane.BOTTOM: placement = "BOTTOM"; break; + case JTabbedPane.LEFT: placement = "LEFT"; break; + case JTabbedPane.RIGHT: placement = "RIGHT"; break; + } + addTab( tabbedPane, "Tab 1", "
" + placement + "
tab placement
" ); + + JComponent tab2 = createTab( "tab content 2" ); + tab2.setBorder( new LineBorder( Color.magenta ) ); + tabbedPane.addTab( "Second Tab", tab2 ); + + addTab( tabbedPane, "Disabled", "tab content 3" ); + tabbedPane.setEnabledAt( 2, false ); + } + } + + private void addTab( JTabbedPane tabbedPane, String title, String text ) { + tabbedPane.addTab( title, createTab( text ) ); + } + + private JComponent createTab( String text ) { + JLabel label = new JLabel( text ); + label.setHorizontalAlignment( SwingConstants.CENTER ); + + JPanel tab = new JPanel( new BorderLayout() ); + tab.add( label, BorderLayout.CENTER ); + return tab; + } + private void initComponents() { // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents JPanel panel9 = new JPanel(); @@ -77,31 +138,19 @@ class TabsPanel JSplitPane splitPane3 = new JSplitPane(); JSplitPane splitPane1 = new JSplitPane(); JPanel panel10 = new JPanel(); + JLabel label1 = new JLabel(); JPanel panel11 = new JPanel(); + JLabel label2 = new JLabel(); JSplitPane splitPane2 = new JSplitPane(); JPanel panel12 = new JPanel(); + JLabel label3 = new JLabel(); JPanel panel13 = new JPanel(); + JLabel label4 = new JLabel(); JLabel tabbedPaneLabel = new JLabel(); tabbedPane1 = new JTabbedPane(); - JPanel panel1 = new JPanel(); - JLabel label1 = new JLabel(); - JPanel panel2 = new JPanel(); - JLabel label2 = new JLabel(); tabbedPane3 = new JTabbedPane(); - JPanel panel5 = new JPanel(); - JLabel label5 = new JLabel(); - JPanel panel6 = new JPanel(); - JLabel label6 = new JLabel(); tabbedPane2 = new JTabbedPane(); - JPanel panel3 = new JPanel(); - JLabel label3 = new JLabel(); - JPanel panel4 = new JPanel(); - JLabel label4 = new JLabel(); tabbedPane4 = new JTabbedPane(); - JPanel panel7 = new JPanel(); - JLabel label7 = new JLabel(); - JPanel panel8 = new JPanel(); - JLabel label8 = new JLabel(); JPanel panel14 = new JPanel(); moreTabsCheckBox = new JCheckBox(); tabScrollCheckBox = new JCheckBox(); @@ -121,7 +170,7 @@ class TabsPanel { panel9.setLayout(new FormLayout( "70dlu:grow, $ugap, 70dlu:grow", - "default, $lgap, fill:70dlu, $pgap, pref, $lgap, 2*(fill:70dlu:grow, $ugap), pref")); + "default, $lgap, fill:70dlu, $pgap, pref, $lgap, 2*(fill:80dlu:grow, $ugap), pref")); //---- splitPaneLabel ---- splitPaneLabel.setText("JSplitPane:"); @@ -134,19 +183,30 @@ class TabsPanel //======== splitPane1 ======== { splitPane1.setResizeWeight(0.5); - splitPane1.setOneTouchExpandable(true); //======== panel10 ======== { - panel10.setBackground(Color.orange); - panel10.setLayout(new FlowLayout()); + panel10.setBackground(new Color(217, 163, 67)); + panel10.setLayout(new BorderLayout()); + + //---- label1 ---- + label1.setText("LEFT"); + label1.setHorizontalAlignment(SwingConstants.CENTER); + label1.setForeground(Color.white); + panel10.add(label1, BorderLayout.CENTER); } splitPane1.setLeftComponent(panel10); //======== panel11 ======== { - panel11.setBackground(Color.magenta); - panel11.setLayout(new FlowLayout()); + panel11.setBackground(new Color(98, 181, 67)); + panel11.setLayout(new BorderLayout()); + + //---- label2 ---- + label2.setText("RIGHT"); + label2.setHorizontalAlignment(SwingConstants.CENTER); + label2.setForeground(Color.white); + panel11.add(label2, BorderLayout.CENTER); } splitPane1.setRightComponent(panel11); } @@ -156,19 +216,30 @@ class TabsPanel { splitPane2.setOrientation(JSplitPane.VERTICAL_SPLIT); splitPane2.setResizeWeight(0.5); - splitPane2.setOneTouchExpandable(true); //======== panel12 ======== { - panel12.setBackground(Color.orange); - panel12.setLayout(new FlowLayout()); + panel12.setBackground(new Color(242, 101, 34)); + panel12.setLayout(new BorderLayout()); + + //---- label3 ---- + label3.setText("TOP"); + label3.setHorizontalAlignment(SwingConstants.CENTER); + label3.setForeground(Color.white); + panel12.add(label3, BorderLayout.CENTER); } splitPane2.setTopComponent(panel12); //======== panel13 ======== { - panel13.setBackground(Color.magenta); - panel13.setLayout(new FlowLayout()); + panel13.setBackground(new Color(64, 182, 224)); + panel13.setLayout(new BorderLayout()); + + //---- label4 ---- + label4.setText("BOTTOM"); + label4.setHorizontalAlignment(SwingConstants.CENTER); + label4.setForeground(Color.white); + panel13.add(label4, BorderLayout.CENTER); } splitPane2.setBottomComponent(panel13); } @@ -179,112 +250,23 @@ class TabsPanel //---- tabbedPaneLabel ---- tabbedPaneLabel.setText("JTabbedPane:"); panel9.add(tabbedPaneLabel, cc.xy(1, 5)); - - //======== tabbedPane1 ======== - { - - //======== panel1 ======== - { - panel1.setLayout(new FlowLayout()); - - //---- label1 ---- - label1.setText("TOP"); - panel1.add(label1); - } - tabbedPane1.addTab("Tab 1", panel1); - - //======== panel2 ======== - { - panel2.setBorder(new LineBorder(Color.magenta)); - panel2.setLayout(new FlowLayout()); - } - tabbedPane1.addTab("Tab 2", panel2); - - //---- label2 ---- - label2.setText("text"); - tabbedPane1.addTab("Tab 3", label2); - } panel9.add(tabbedPane1, cc.xy(1, 7)); //======== tabbedPane3 ======== { tabbedPane3.setTabPlacement(SwingConstants.LEFT); - - //======== panel5 ======== - { - panel5.setLayout(new FlowLayout()); - - //---- label5 ---- - label5.setText("LEFT"); - panel5.add(label5); - } - tabbedPane3.addTab("Tab 1", panel5); - - //======== panel6 ======== - { - panel6.setBorder(new LineBorder(Color.magenta)); - panel6.setLayout(new FlowLayout()); - } - tabbedPane3.addTab("Tab 2", panel6); - - //---- label6 ---- - label6.setText("text"); - tabbedPane3.addTab("Tab 3", label6); } panel9.add(tabbedPane3, cc.xy(3, 7)); //======== tabbedPane2 ======== { tabbedPane2.setTabPlacement(SwingConstants.BOTTOM); - - //======== panel3 ======== - { - panel3.setLayout(new FlowLayout()); - - //---- label3 ---- - label3.setText("BOTTOM"); - panel3.add(label3); - } - tabbedPane2.addTab("Tab 1", panel3); - - //======== panel4 ======== - { - panel4.setBorder(new LineBorder(Color.magenta)); - panel4.setLayout(new FlowLayout()); - } - tabbedPane2.addTab("Tab 2", panel4); - tabbedPane2.setEnabledAt(1, false); - - //---- label4 ---- - label4.setText("text"); - tabbedPane2.addTab("Tab 3", label4); } panel9.add(tabbedPane2, cc.xy(1, 9)); //======== tabbedPane4 ======== { tabbedPane4.setTabPlacement(SwingConstants.RIGHT); - - //======== panel7 ======== - { - panel7.setLayout(new FlowLayout()); - - //---- label7 ---- - label7.setText("RIGHT"); - panel7.add(label7); - } - tabbedPane4.addTab("Tab 1", panel7); - - //======== panel8 ======== - { - panel8.setBorder(new LineBorder(Color.magenta)); - panel8.setLayout(new FlowLayout()); - } - tabbedPane4.addTab("Tab 2", panel8); - - //---- label8 ---- - label8.setText("text"); - tabbedPane4.addTab("Tab 3", label8); } panel9.add(tabbedPane4, cc.xy(3, 9)); @@ -318,8 +300,7 @@ class TabsPanel panel14.add(showTabSeparatorsCheckBox, "cell 2 0"); //---- hasFullBorderCheckBox ---- - hasFullBorderCheckBox.setText("Show full border"); - hasFullBorderCheckBox.setMnemonic('F'); + hasFullBorderCheckBox.setText("Show content border"); hasFullBorderCheckBox.addActionListener(e -> hasFullBorderChanged()); panel14.add(hasFullBorderCheckBox, "cell 3 0,alignx left,growx 0"); } diff --git a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/TabsPanel.jfd b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/TabsPanel.jfd index 072cc2eb..d592df5b 100644 --- a/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/TabsPanel.jfd +++ b/flatlaf-demo/src/main/java/com/formdev/flatlaf/demo/TabsPanel.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:70dlu:grow, unrelgap, fill:70dlu:grow, unrelgap, pref" + "$rowSpecs": "default, linegap, fill:70dlu, pargap, pref, linegap, fill:80dlu:grow, unrelgap, fill:80dlu:grow, unrelgap, pref" } ) { name: "panel9" add( new FormComponent( "javax.swing.JLabel" ) { @@ -27,16 +27,31 @@ new FormModel { add( new FormContainer( "javax.swing.JSplitPane", new FormLayoutManager( class javax.swing.JSplitPane ) ) { name: "splitPane1" "resizeWeight": 0.5 - "oneTouchExpandable": true - add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { + add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) { name: "panel10" - "background": sfield java.awt.Color orange + "background": new java.awt.Color( 217, 163, 67, 255 ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label1" + "text": "LEFT" + "horizontalAlignment": 0 + "foreground": sfield java.awt.Color white + }, new FormLayoutConstraints( class java.lang.String ) { + "value": "Center" + } ) }, new FormLayoutConstraints( class java.lang.String ) { "value": "left" } ) - add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { + add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) { name: "panel11" - "background": sfield java.awt.Color magenta + "background": new java.awt.Color( 98, 181, 67, 255 ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label2" + "text": "RIGHT" + "horizontalAlignment": 0 + "foreground": sfield java.awt.Color white + }, new FormLayoutConstraints( class java.lang.String ) { + "value": "Center" + } ) }, new FormLayoutConstraints( class java.lang.String ) { "value": "right" } ) @@ -47,16 +62,31 @@ new FormModel { name: "splitPane2" "orientation": 0 "resizeWeight": 0.5 - "oneTouchExpandable": true - add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { + add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) { name: "panel12" - "background": sfield java.awt.Color orange + "background": new java.awt.Color( 242, 101, 34, 255 ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label3" + "text": "TOP" + "horizontalAlignment": 0 + "foreground": sfield java.awt.Color white + }, new FormLayoutConstraints( class java.lang.String ) { + "value": "Center" + } ) }, new FormLayoutConstraints( class java.lang.String ) { "value": "left" } ) - add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { + add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) { name: "panel13" - "background": sfield java.awt.Color magenta + "background": new java.awt.Color( 64, 182, 224, 255 ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label4" + "text": "BOTTOM" + "horizontalAlignment": 0 + "foreground": sfield java.awt.Color white + }, new FormLayoutConstraints( class java.lang.String ) { + "value": "Center" + } ) }, new FormLayoutConstraints( class java.lang.String ) { "value": "right" } ) @@ -79,27 +109,6 @@ new FormModel { auxiliary() { "JavaCodeGenerator.variableLocal": false } - add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { - name: "panel1" - add( new FormComponent( "javax.swing.JLabel" ) { - name: "label1" - "text": "TOP" - } ) - }, new FormLayoutConstraints( null ) { - "title": "Tab 1" - } ) - add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { - name: "panel2" - "border": &LineBorder0 new javax.swing.border.LineBorder( sfield java.awt.Color magenta, 1, false ) - }, new FormLayoutConstraints( null ) { - "title": "Tab 2" - } ) - add( new FormComponent( "javax.swing.JLabel" ) { - name: "label2" - "text": "text" - }, new FormLayoutConstraints( null ) { - "title": "Tab 3" - } ) }, new FormLayoutConstraints( class com.jgoodies.forms.layout.CellConstraints ) { "gridX": 1 "gridY": 7 @@ -110,27 +119,6 @@ new FormModel { auxiliary() { "JavaCodeGenerator.variableLocal": false } - add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { - name: "panel5" - add( new FormComponent( "javax.swing.JLabel" ) { - name: "label5" - "text": "LEFT" - } ) - }, new FormLayoutConstraints( null ) { - "title": "Tab 1" - } ) - add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { - name: "panel6" - "border": #LineBorder0 - }, new FormLayoutConstraints( null ) { - "title": "Tab 2" - } ) - add( new FormComponent( "javax.swing.JLabel" ) { - name: "label6" - "text": "text" - }, new FormLayoutConstraints( null ) { - "title": "Tab 3" - } ) }, new FormLayoutConstraints( class com.jgoodies.forms.layout.CellConstraints ) { "gridX": 3 "gridY": 7 @@ -141,28 +129,6 @@ new FormModel { auxiliary() { "JavaCodeGenerator.variableLocal": false } - add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { - name: "panel3" - add( new FormComponent( "javax.swing.JLabel" ) { - name: "label3" - "text": "BOTTOM" - } ) - }, new FormLayoutConstraints( null ) { - "title": "Tab 1" - } ) - add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { - name: "panel4" - "border": #LineBorder0 - }, new FormLayoutConstraints( null ) { - "title": "Tab 2" - "enabled": false - } ) - add( new FormComponent( "javax.swing.JLabel" ) { - name: "label4" - "text": "text" - }, new FormLayoutConstraints( null ) { - "title": "Tab 3" - } ) }, new FormLayoutConstraints( class com.jgoodies.forms.layout.CellConstraints ) { "gridY": 9 } ) @@ -172,27 +138,6 @@ new FormModel { auxiliary() { "JavaCodeGenerator.variableLocal": false } - add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { - name: "panel7" - add( new FormComponent( "javax.swing.JLabel" ) { - name: "label7" - "text": "RIGHT" - } ) - }, new FormLayoutConstraints( null ) { - "title": "Tab 1" - } ) - add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { - name: "panel8" - "border": #LineBorder0 - }, new FormLayoutConstraints( null ) { - "title": "Tab 2" - } ) - add( new FormComponent( "javax.swing.JLabel" ) { - name: "label8" - "text": "text" - }, new FormLayoutConstraints( null ) { - "title": "Tab 3" - } ) }, new FormLayoutConstraints( class com.jgoodies.forms.layout.CellConstraints ) { "gridX": 3 "gridY": 9 @@ -237,8 +182,7 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JCheckBox" ) { name: "hasFullBorderCheckBox" - "text": "Show full border" - "mnemonic": 70 + "text": "Show content border" auxiliary() { "JavaCodeGenerator.variableLocal": false } @@ -255,7 +199,7 @@ new FormModel { } ) }, new FormLayoutConstraints( null ) { "location": new java.awt.Point( 0, 0 ) - "size": new java.awt.Dimension( 610, 515 ) + "size": new java.awt.Dimension( 625, 515 ) } ) } } 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 264528e0..3ebbaa3f 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 @@ -1,5 +1,17 @@ /* - * Created by JFormDesigner on Tue Aug 27 21:47:02 CEST 2019 + * Copyright 2020 FormDev Software GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ package com.formdev.flatlaf.testing; @@ -27,6 +39,8 @@ public class FlatContainerTest public FlatContainerTest() { initComponents(); + + addInitialTabs( tabbedPane1, tabbedPane2, tabbedPane3, tabbedPane4 ); } private void tabScrollChanged() { @@ -35,8 +49,20 @@ public class FlatContainerTest tabbedPane2.setTabLayoutPolicy( tabLayoutPolicy ); tabbedPane3.setTabLayoutPolicy( tabLayoutPolicy ); tabbedPane4.setTabLayoutPolicy( tabLayoutPolicy ); + + if( !autoMoreTabs && tabScrollCheckBox.isSelected() && !moreTabsCheckBox.isSelected() ) { + moreTabsCheckBox.setSelected( true ); + moreTabsChanged(); + autoMoreTabs = true; + } else if( autoMoreTabs && !tabScrollCheckBox.isSelected() && moreTabsCheckBox.isSelected() ) { + moreTabsCheckBox.setSelected( false ); + moreTabsChanged(); + autoMoreTabs = false; + } } + private boolean autoMoreTabs; + private void showTabSeparatorsChanged() { Boolean showTabSeparators = showTabSeparatorsCheckBox.isSelected() ? true : null; tabbedPane1.putClientProperty( TABBED_PANE_SHOW_TAB_SEPARATORS, showTabSeparators ); @@ -59,61 +85,70 @@ public class FlatContainerTest addRemoveMoreTabs( tabbedPane2, moreTabs ); addRemoveMoreTabs( tabbedPane3, moreTabs ); addRemoveMoreTabs( tabbedPane4, moreTabs ); + + autoMoreTabs = false; } private void addRemoveMoreTabs( JTabbedPane tabbedPane, boolean add ) { if( add ) { - tabbedPane.addTab( "Tab 4", new JLabel( "tab 4" ) ); - tabbedPane.addTab( "Tab 5", new JLabel( "tab 5" ) ); + addTab( tabbedPane, "Tab 4", "tab content 4" ); + addTab( tabbedPane, "Tab 5", "tab content 5" ); + addTab( tabbedPane, "Tab 6", "tab content 6" ); + addTab( tabbedPane, "Tab 7", "tab content 7" ); + addTab( tabbedPane, "Tab 8", "tab content 8" ); } else { int tabCount = tabbedPane.getTabCount(); if( tabCount > 3 ) { - for( int i = 0; i < 2; i++ ) + for( int i = 0; i < 5; i++ ) tabbedPane.removeTabAt( tabbedPane.getTabCount() - 1 ); } } } + private void addInitialTabs( JTabbedPane... tabbedPanes ) { + for( JTabbedPane tabbedPane : tabbedPanes ) { + tabbedPane.addTab( "Tab 1", new Panel1() ); + + JComponent tab2 = new Panel2(); + tab2.setBorder( new LineBorder( Color.magenta ) ); + tabbedPane.addTab( "Second Tab", tab2 ); + + addTab( tabbedPane, "Disabled", "tab content 3" ); + tabbedPane.setEnabledAt( 2, false ); + } + } + + private void addTab( JTabbedPane tabbedPane, String title, String text ) { + tabbedPane.addTab( title, createTab( text ) ); + } + + private JComponent createTab( String text ) { + JLabel label = new JLabel( text ); + label.setHorizontalAlignment( SwingConstants.CENTER ); + + JPanel tab = new JPanel( new BorderLayout() ); + tab.add( label, BorderLayout.CENTER ); + return tab; + } + private void initComponents() { // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents JPanel panel9 = new JPanel(); JLabel splitPaneLabel = new JLabel(); JSplitPane splitPane3 = new JSplitPane(); JSplitPane splitPane1 = new JSplitPane(); - JPanel panel10 = new JPanel(); - JTextField textField2 = new JTextField(); - JButton button1 = new JButton(); - JPanel panel11 = new JPanel(); - JTextField textField3 = new JTextField(); - JButton button2 = new JButton(); + FlatContainerTest.Panel1 panel15 = new FlatContainerTest.Panel1(); + FlatContainerTest.Panel2 panel21 = new FlatContainerTest.Panel2(); JSplitPane splitPane2 = new JSplitPane(); JPanel panel12 = new JPanel(); + JLabel label3 = new JLabel(); JPanel panel13 = new JPanel(); + JLabel label4 = new JLabel(); JLabel tabbedPaneLabel = new JLabel(); tabbedPane1 = new JTabbedPane(); - JPanel panel1 = new JPanel(); - JLabel label1 = new JLabel(); - JTextField textField4 = new JTextField(); - JButton button3 = new JButton(); - JPanel panel2 = new JPanel(); - JTextField textField5 = new JTextField(); - JButton button4 = new JButton(); - JLabel label2 = new JLabel(); tabbedPane3 = new JTabbedPane(); - JPanel panel5 = new JPanel(); - JLabel label5 = new JLabel(); - JPanel panel6 = new JPanel(); - JLabel label6 = new JLabel(); tabbedPane2 = new JTabbedPane(); - JPanel panel3 = new JPanel(); - JLabel label3 = new JLabel(); - JPanel panel4 = new JPanel(); - JLabel label4 = new JLabel(); tabbedPane4 = new JTabbedPane(); - JPanel panel7 = new JPanel(); - JLabel label7 = new JLabel(); - JPanel panel8 = new JPanel(); - JLabel label8 = new JLabel(); JPanel panel14 = new JPanel(); moreTabsCheckBox = new JCheckBox(); tabScrollCheckBox = new JCheckBox(); @@ -134,7 +169,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:70dlu:grow, $ugap), pref")); + "default, $lgap, fill:70dlu, $pgap, pref, $lgap, 2*(fill:80dlu:grow, $ugap), pref")); //---- splitPaneLabel ---- splitPaneLabel.setText("JSplitPane:"); @@ -149,35 +184,13 @@ public class FlatContainerTest splitPane1.setResizeWeight(0.5); splitPane1.setOneTouchExpandable(true); - //======== panel10 ======== - { - panel10.setBackground(Color.orange); - panel10.setLayout(new FlowLayout()); + //---- panel15 ---- + panel15.setBackground(new Color(217, 163, 67)); + splitPane1.setLeftComponent(panel15); - //---- textField2 ---- - textField2.setText("some text"); - panel10.add(textField2); - - //---- button1 ---- - button1.setText("..."); - panel10.add(button1); - } - splitPane1.setLeftComponent(panel10); - - //======== panel11 ======== - { - panel11.setBackground(Color.magenta); - panel11.setLayout(new FlowLayout()); - - //---- textField3 ---- - textField3.setText("some text"); - panel11.add(textField3); - - //---- button2 ---- - button2.setText("..."); - panel11.add(button2); - } - splitPane1.setRightComponent(panel11); + //---- panel21 ---- + panel21.setBackground(new Color(98, 181, 67)); + splitPane1.setRightComponent(panel21); } splitPane3.setLeftComponent(splitPane1); @@ -189,15 +202,27 @@ public class FlatContainerTest //======== panel12 ======== { - panel12.setBackground(Color.orange); - panel12.setLayout(new FlowLayout()); + panel12.setBackground(new Color(242, 101, 34)); + panel12.setLayout(new BorderLayout()); + + //---- label3 ---- + label3.setText("TOP"); + label3.setHorizontalAlignment(SwingConstants.CENTER); + label3.setForeground(Color.white); + panel12.add(label3, BorderLayout.CENTER); } splitPane2.setTopComponent(panel12); //======== panel13 ======== { - panel13.setBackground(Color.magenta); - panel13.setLayout(new FlowLayout()); + panel13.setBackground(new Color(64, 182, 224)); + panel13.setLayout(new BorderLayout()); + + //---- label4 ---- + label4.setText("BOTTOM"); + label4.setHorizontalAlignment(SwingConstants.CENTER); + label4.setForeground(Color.white); + panel13.add(label4, BorderLayout.CENTER); } splitPane2.setBottomComponent(panel13); } @@ -208,128 +233,23 @@ public class FlatContainerTest //---- tabbedPaneLabel ---- tabbedPaneLabel.setText("JTabbedPane:"); panel9.add(tabbedPaneLabel, cc.xy(1, 5)); - - //======== tabbedPane1 ======== - { - - //======== panel1 ======== - { - panel1.setLayout(new FlowLayout()); - - //---- label1 ---- - label1.setText("TOP"); - panel1.add(label1); - - //---- textField4 ---- - textField4.setText("some text"); - panel1.add(textField4); - - //---- button3 ---- - button3.setText("..."); - panel1.add(button3); - } - tabbedPane1.addTab("Tab 1", panel1); - - //======== panel2 ======== - { - panel2.setBorder(new LineBorder(Color.magenta)); - panel2.setLayout(new FlowLayout()); - - //---- textField5 ---- - textField5.setText("some text"); - panel2.add(textField5); - - //---- button4 ---- - button4.setText("..."); - panel2.add(button4); - } - tabbedPane1.addTab("Tab 2", panel2); - - //---- label2 ---- - label2.setText("text"); - tabbedPane1.addTab("Tab 3", label2); - } panel9.add(tabbedPane1, cc.xy(1, 7)); //======== tabbedPane3 ======== { tabbedPane3.setTabPlacement(SwingConstants.LEFT); - - //======== panel5 ======== - { - panel5.setLayout(new FlowLayout()); - - //---- label5 ---- - label5.setText("LEFT"); - panel5.add(label5); - } - tabbedPane3.addTab("Tab 1", panel5); - - //======== panel6 ======== - { - panel6.setBorder(new LineBorder(Color.magenta)); - panel6.setLayout(new FlowLayout()); - } - tabbedPane3.addTab("Tab 2", panel6); - - //---- label6 ---- - label6.setText("text"); - tabbedPane3.addTab("Tab 3", label6); } panel9.add(tabbedPane3, cc.xy(3, 7)); //======== tabbedPane2 ======== { tabbedPane2.setTabPlacement(SwingConstants.BOTTOM); - - //======== panel3 ======== - { - panel3.setLayout(new FlowLayout()); - - //---- label3 ---- - label3.setText("BOTTOM"); - panel3.add(label3); - } - tabbedPane2.addTab("Tab 1", panel3); - - //======== panel4 ======== - { - panel4.setBorder(new LineBorder(Color.magenta)); - panel4.setLayout(new FlowLayout()); - } - tabbedPane2.addTab("Tab 2", panel4); - tabbedPane2.setEnabledAt(1, false); - - //---- label4 ---- - label4.setText("text"); - tabbedPane2.addTab("Tab 3", label4); } panel9.add(tabbedPane2, cc.xy(1, 9)); //======== tabbedPane4 ======== { tabbedPane4.setTabPlacement(SwingConstants.RIGHT); - - //======== panel7 ======== - { - panel7.setLayout(new FlowLayout()); - - //---- label7 ---- - label7.setText("RIGHT"); - panel7.add(label7); - } - tabbedPane4.addTab("Tab 1", panel7); - - //======== panel8 ======== - { - panel8.setBorder(new LineBorder(Color.magenta)); - panel8.setLayout(new FlowLayout()); - } - tabbedPane4.addTab("Tab 2", panel8); - - //---- label8 ---- - label8.setText("text"); - tabbedPane4.addTab("Tab 3", label8); } panel9.add(tabbedPane4, cc.xy(3, 9)); @@ -364,8 +284,7 @@ public class FlatContainerTest panel14.add(showTabSeparatorsCheckBox, "cell 2 0"); //---- hasFullBorderCheckBox ---- - hasFullBorderCheckBox.setText("Show full border"); - hasFullBorderCheckBox.setMnemonic('F'); + hasFullBorderCheckBox.setText("Show content border"); hasFullBorderCheckBox.addActionListener(e -> hasFullBorderChanged()); panel14.add(hasFullBorderCheckBox, "cell 3 0,alignx left,growx 0"); } @@ -385,4 +304,84 @@ public class FlatContainerTest private JCheckBox showTabSeparatorsCheckBox; private JCheckBox hasFullBorderCheckBox; // JFormDesigner - End of variables declaration //GEN-END:variables + + //---- class Tab1Panel ---------------------------------------------------- + + private static class Panel1 + extends JPanel + { + private Panel1() { + initComponents(); + } + + private void initComponents() { + // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents + JLabel label1 = new JLabel(); + JTextField textField4 = new JTextField(); + JButton button3 = new JButton(); + + //======== this ======== + setLayout(new MigLayout( + "hidemode 3,align center center", + // columns + "[fill]" + + "[fill]" + + "[fill]", + // rows + "[fill]")); + + //---- label1 ---- + label1.setText("text"); + add(label1, "cell 0 0"); + + //---- textField4 ---- + textField4.setText("some text"); + add(textField4, "cell 1 0"); + + //---- button3 ---- + button3.setText("..."); + add(button3, "cell 2 0"); + // JFormDesigner - End of component initialization //GEN-END:initComponents + } + + // JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables + // JFormDesigner - End of variables declaration //GEN-END:variables + } + + //---- class Tab2Panel ---------------------------------------------------- + + private static class Panel2 + extends JPanel + { + private Panel2() { + initComponents(); + } + + private void initComponents() { + // JFormDesigner - Component initialization - DO NOT MODIFY //GEN-BEGIN:initComponents + JTextField textField5 = new JTextField(); + JButton button4 = new JButton(); + + //======== this ======== + setLayout(new MigLayout( + "insets 0,hidemode 3,align center center", + // columns + "[fill]" + + "[fill]", + // rows + "[fill]")); + + //---- textField5 ---- + textField5.setText("more text"); + add(textField5, "cell 0 0"); + + //---- button4 ---- + button4.setText("..."); + add(button4, "cell 1 0"); + // JFormDesigner - End of component initialization //GEN-END:initComponents + } + + // JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables + // 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 d47aceb2..fa48ce4f 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:70dlu:grow, unrelgap, fill:70dlu:grow, unrelgap, pref" + "$rowSpecs": "default, linegap, fill:70dlu, pargap, pref, linegap, fill:80dlu:grow, unrelgap, fill:80dlu:grow, unrelgap, pref" } ) { name: "panel9" "opaque": false @@ -29,31 +29,15 @@ new FormModel { name: "splitPane1" "resizeWeight": 0.5 "oneTouchExpandable": true - add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { - name: "panel10" - "background": sfield java.awt.Color orange - add( new FormComponent( "javax.swing.JTextField" ) { - name: "textField2" - "text": "some text" - } ) - add( new FormComponent( "javax.swing.JButton" ) { - name: "button1" - "text": "..." - } ) + add( new FormComponent( "com.formdev.flatlaf.testing.FlatContainerTest$Panel1" ) { + name: "panel15" + "background": new java.awt.Color( 217, 163, 67, 255 ) }, new FormLayoutConstraints( class java.lang.String ) { "value": "left" } ) - add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { - name: "panel11" - "background": sfield java.awt.Color magenta - add( new FormComponent( "javax.swing.JTextField" ) { - name: "textField3" - "text": "some text" - } ) - add( new FormComponent( "javax.swing.JButton" ) { - name: "button2" - "text": "..." - } ) + add( new FormComponent( "com.formdev.flatlaf.testing.FlatContainerTest$Panel2" ) { + name: "panel21" + "background": new java.awt.Color( 98, 181, 67, 255 ) }, new FormLayoutConstraints( class java.lang.String ) { "value": "right" } ) @@ -65,15 +49,31 @@ new FormModel { "orientation": 0 "resizeWeight": 0.5 "oneTouchExpandable": true - add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { + add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) { name: "panel12" - "background": sfield java.awt.Color orange + "background": new java.awt.Color( 242, 101, 34, 255 ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label3" + "text": "TOP" + "horizontalAlignment": 0 + "foreground": sfield java.awt.Color white + }, new FormLayoutConstraints( class java.lang.String ) { + "value": "Center" + } ) }, new FormLayoutConstraints( class java.lang.String ) { "value": "left" } ) - add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { + add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.BorderLayout ) ) { name: "panel13" - "background": sfield java.awt.Color magenta + "background": new java.awt.Color( 64, 182, 224, 255 ) + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label4" + "text": "BOTTOM" + "horizontalAlignment": 0 + "foreground": sfield java.awt.Color white + }, new FormLayoutConstraints( class java.lang.String ) { + "value": "Center" + } ) }, new FormLayoutConstraints( class java.lang.String ) { "value": "right" } ) @@ -96,43 +96,6 @@ new FormModel { auxiliary() { "JavaCodeGenerator.variableLocal": false } - add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { - name: "panel1" - add( new FormComponent( "javax.swing.JLabel" ) { - name: "label1" - "text": "TOP" - } ) - add( new FormComponent( "javax.swing.JTextField" ) { - name: "textField4" - "text": "some text" - } ) - add( new FormComponent( "javax.swing.JButton" ) { - name: "button3" - "text": "..." - } ) - }, new FormLayoutConstraints( null ) { - "title": "Tab 1" - } ) - add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { - name: "panel2" - "border": &LineBorder0 new javax.swing.border.LineBorder( sfield java.awt.Color magenta, 1, false ) - add( new FormComponent( "javax.swing.JTextField" ) { - name: "textField5" - "text": "some text" - } ) - add( new FormComponent( "javax.swing.JButton" ) { - name: "button4" - "text": "..." - } ) - }, new FormLayoutConstraints( null ) { - "title": "Tab 2" - } ) - add( new FormComponent( "javax.swing.JLabel" ) { - name: "label2" - "text": "text" - }, new FormLayoutConstraints( null ) { - "title": "Tab 3" - } ) }, new FormLayoutConstraints( class com.jgoodies.forms.layout.CellConstraints ) { "gridX": 1 "gridY": 7 @@ -143,27 +106,6 @@ new FormModel { auxiliary() { "JavaCodeGenerator.variableLocal": false } - add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { - name: "panel5" - add( new FormComponent( "javax.swing.JLabel" ) { - name: "label5" - "text": "LEFT" - } ) - }, new FormLayoutConstraints( null ) { - "title": "Tab 1" - } ) - add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { - name: "panel6" - "border": #LineBorder0 - }, new FormLayoutConstraints( null ) { - "title": "Tab 2" - } ) - add( new FormComponent( "javax.swing.JLabel" ) { - name: "label6" - "text": "text" - }, new FormLayoutConstraints( null ) { - "title": "Tab 3" - } ) }, new FormLayoutConstraints( class com.jgoodies.forms.layout.CellConstraints ) { "gridX": 3 "gridY": 7 @@ -174,28 +116,6 @@ new FormModel { auxiliary() { "JavaCodeGenerator.variableLocal": false } - add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { - name: "panel3" - add( new FormComponent( "javax.swing.JLabel" ) { - name: "label3" - "text": "BOTTOM" - } ) - }, new FormLayoutConstraints( null ) { - "title": "Tab 1" - } ) - add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { - name: "panel4" - "border": #LineBorder0 - }, new FormLayoutConstraints( null ) { - "title": "Tab 2" - "enabled": false - } ) - add( new FormComponent( "javax.swing.JLabel" ) { - name: "label4" - "text": "text" - }, new FormLayoutConstraints( null ) { - "title": "Tab 3" - } ) }, new FormLayoutConstraints( class com.jgoodies.forms.layout.CellConstraints ) { "gridY": 9 } ) @@ -205,27 +125,6 @@ new FormModel { auxiliary() { "JavaCodeGenerator.variableLocal": false } - add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { - name: "panel7" - add( new FormComponent( "javax.swing.JLabel" ) { - name: "label7" - "text": "RIGHT" - } ) - }, new FormLayoutConstraints( null ) { - "title": "Tab 1" - } ) - add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class java.awt.FlowLayout ) ) { - name: "panel8" - "border": #LineBorder0 - }, new FormLayoutConstraints( null ) { - "title": "Tab 2" - } ) - add( new FormComponent( "javax.swing.JLabel" ) { - name: "label8" - "text": "text" - }, new FormLayoutConstraints( null ) { - "title": "Tab 3" - } ) }, new FormLayoutConstraints( class com.jgoodies.forms.layout.CellConstraints ) { "gridX": 3 "gridY": 9 @@ -271,8 +170,7 @@ new FormModel { } ) add( new FormComponent( "javax.swing.JCheckBox" ) { name: "hasFullBorderCheckBox" - "text": "Show full border" - "mnemonic": 70 + "text": "Show content border" auxiliary() { "JavaCodeGenerator.variableLocal": false } @@ -291,5 +189,61 @@ new FormModel { "location": new java.awt.Point( 0, 0 ) "size": new java.awt.Dimension( 625, 515 ) } ) + add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) { + "$layoutConstraints": "hidemode 3,align center center" + "$columnConstraints": "[fill][fill][fill]" + "$rowConstraints": "[fill]" + } ) { + name: "panel1" + auxiliary() { + "JavaCodeGenerator.className": "Panel1" + } + add( new FormComponent( "javax.swing.JLabel" ) { + name: "label1" + "text": "text" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 0" + } ) + add( new FormComponent( "javax.swing.JTextField" ) { + name: "textField4" + "text": "some text" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 0" + } ) + add( new FormComponent( "javax.swing.JButton" ) { + name: "button3" + "text": "..." + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 2 0" + } ) + }, new FormLayoutConstraints( null ) { + "location": new java.awt.Point( 0, 595 ) + "size": new java.awt.Dimension( 291, 118 ) + } ) + add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) { + "$layoutConstraints": "insets 0,hidemode 3,align center center" + "$columnConstraints": "[fill][fill]" + "$rowConstraints": "[fill]" + } ) { + name: "panel2" + auxiliary() { + "JavaCodeGenerator.className": "Panel2" + } + add( new FormComponent( "javax.swing.JTextField" ) { + name: "textField5" + "text": "more text" + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 0 0" + } ) + add( new FormComponent( "javax.swing.JButton" ) { + name: "button4" + "text": "..." + }, new FormLayoutConstraints( class net.miginfocom.layout.CC ) { + "value": "cell 1 0" + } ) + }, new FormLayoutConstraints( null ) { + "location": new java.awt.Point( 340, 595 ) + "size": new java.awt.Dimension( 291, 118 ) + } ) } } diff --git a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatInternalFrameTest.java b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatInternalFrameTest.java index c80b8677..ede122a5 100644 --- a/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatInternalFrameTest.java +++ b/flatlaf-testing/src/main/java/com/formdev/flatlaf/testing/FlatInternalFrameTest.java @@ -1,5 +1,17 @@ /* - * Created by JFormDesigner on Tue Aug 27 21:47:02 CEST 2019 + * Copyright 2020 FormDev Software GmbH + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. */ package com.formdev.flatlaf.testing;