JIDE: JideTabbedPane: FlatJideOssContainerTest updated (based on FlatContainerTest)

This commit is contained in:
Karl Tauber
2021-03-27 12:18:06 +01:00
parent c8f7478170
commit 923cc51f3e
3 changed files with 982 additions and 264 deletions

View File

@@ -149,6 +149,8 @@ public class FlatJideTabbedPaneUI
repaintTab( (Integer) e.getNewValue() );
break;
case JideTabbedPane.PROPERTY_TAB_AREA_INSETS:
case JideTabbedPane.PROPERTY_TAB_INSETS:
case TABBED_PANE_SHOW_TAB_SEPARATORS:
case TABBED_PANE_HAS_FULL_BORDER:
_tabPane.revalidate();

View File

@@ -16,12 +16,15 @@
package com.formdev.flatlaf.testing.jideoss;
import static com.formdev.flatlaf.FlatClientProperties.TABBED_PANE_HAS_FULL_BORDER;
import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import com.formdev.flatlaf.FlatClientProperties;
import com.formdev.flatlaf.FlatLaf;
import com.formdev.flatlaf.icons.FlatInternalFrameCloseIcon;
import com.formdev.flatlaf.testing.*;
import com.formdev.flatlaf.testing.FlatTestFrame;
import com.formdev.flatlaf.util.ScaledImageIcon;
import com.jgoodies.forms.layout.*;
import com.jidesoft.swing.*;
import net.miginfocom.swing.*;
@@ -35,49 +38,335 @@ public class FlatJideOssContainerTest
public static void main( String[] args ) {
SwingUtilities.invokeLater( () -> {
FlatTestFrame frame = FlatTestFrame.create( args, "FlatJideOssContainerTest" );
frame.useApplyComponentOrientation = true;
frame.showFrame( FlatJideOssContainerTest::new );
} );
}
FlatJideOssContainerTest() {
initComponents();
tabPlacementField.init( TabPlacement.class, true );
tabAlignmentField.init( JideTabAlignment.class, false );
tabResizeModeField.init( JideTabResizeMode.class, true );
tabCountChanged();
tabsClosableCheckBox.setSelected( true );
tabsClosableChanged();
tabScrollCheckBox.setSelected( true );
tabScrollChanged();
}
private void tabScrollChanged() {
// JideTabbedPane supports tab closing only in scroll layout
// --> turn of if necessary to avoid exceptions in BasicJideTabbedPaneUI
tabsClosableChanged();
int tabLayoutPolicy = tabScrollCheckBox.isSelected() ? JTabbedPane.SCROLL_TAB_LAYOUT : JTabbedPane.WRAP_TAB_LAYOUT;
tabbedPane1.setTabLayoutPolicy( tabLayoutPolicy );
tabbedPane2.setTabLayoutPolicy( tabLayoutPolicy );
tabbedPane3.setTabLayoutPolicy( tabLayoutPolicy );
tabbedPane4.setTabLayoutPolicy( tabLayoutPolicy );
for( JTabbedPane tabbedPane : allTabbedPanes )
tabbedPane.setTabLayoutPolicy( tabLayoutPolicy );
int tabCount = (Integer) tabCountSpinner.getValue();
if( tabLayoutPolicy == JTabbedPane.SCROLL_TAB_LAYOUT && tabCount == 4 )
tabCountSpinner.setValue( 8 );
else if( tabLayoutPolicy == JTabbedPane.WRAP_TAB_LAYOUT && tabCount == 8 )
tabCountSpinner.setValue( 4 );
}
private void showTabSeparatorsChanged() {
Boolean showTabSeparators = showTabSeparatorsCheckBox.isSelected() ? true : null;
putTabbedPanesClientProperty( FlatClientProperties.TABBED_PANE_SHOW_TAB_SEPARATORS, showTabSeparators );
}
private void hideTabAreaWithOneTabChanged() {
boolean hideTabAreaWithOneTab = hideTabAreaWithOneTabCheckBox.isSelected();
for( JideTabbedPane tabbedPane : allTabbedPanes )
tabbedPane.setHideOneTab( hideTabAreaWithOneTab );
}
private void hasFullBorderChanged() {
Boolean hasFullBorder = hasFullBorderCheckBox.isSelected() ? true : null;
tabbedPane1.putClientProperty( TABBED_PANE_HAS_FULL_BORDER, hasFullBorder );
tabbedPane2.putClientProperty( TABBED_PANE_HAS_FULL_BORDER, hasFullBorder );
tabbedPane3.putClientProperty( TABBED_PANE_HAS_FULL_BORDER, hasFullBorder );
tabbedPane4.putClientProperty( TABBED_PANE_HAS_FULL_BORDER, hasFullBorder );
putTabbedPanesClientProperty( FlatClientProperties.TABBED_PANE_HAS_FULL_BORDER, hasFullBorder );
}
private void moreTabsChanged() {
boolean moreTabs = moreTabsCheckBox.isSelected();
addRemoveMoreTabs( tabbedPane1, moreTabs );
addRemoveMoreTabs( tabbedPane2, moreTabs );
addRemoveMoreTabs( tabbedPane3, moreTabs );
addRemoveMoreTabs( tabbedPane4, moreTabs );
private void putTabbedPanesClientProperty( String key, Object value ) {
for( JTabbedPane tabbedPane : allTabbedPanes )
tabbedPane.putClientProperty( key, value );
}
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" ) );
} else {
int tabCount = tabbedPane.getTabCount();
if( tabCount > 3 ) {
for( int i = 0; i < 2; i++ )
tabbedPane.removeTabAt( tabbedPane.getTabCount() - 1 );
}
private void tabCountChanged() {
for( JideTabbedPane tabbedPane : allTabbedPanes )
tabCountChanged( tabbedPane );
}
private void tabCountChanged( JideTabbedPane tabbedPane ) {
int oldTabCount = tabbedPane.getTabCount();
int newTabCount = (Integer) tabCountSpinner.getValue();
if( newTabCount > oldTabCount ) {
for( int i = oldTabCount + 1; i <= newTabCount; i++ )
addTab( tabbedPane );
} else if( newTabCount < oldTabCount ) {
while( tabbedPane.getTabCount() > newTabCount )
tabbedPane.removeTabAt( tabbedPane.getTabCount() - 1 );
}
customTabsChanged( tabbedPane );
tabBackForegroundChanged( tabbedPane );
setTabIcons( tabbedPane );
}
private void addTab( JideTabbedPane tabbedPane ) {
switch( tabbedPane.getTabCount() ) {
case 0:
tabbedPane.addTab( "Tab 1", null, new Panel1(), "First tab." );
break;
case 1:
JComponent tab2 = new Panel2();
tab2.setBorder( new LineBorder( Color.magenta ) );
tabbedPane.addTab( "Second Tab", null, tab2, "This is the second tab." );
break;
case 2:
tabbedPane.addTab( "Disabled", createTab( "tab content 3" ) );
tabbedPane.setEnabledAt( 2, false );
tabbedPane.setToolTipTextAt( 2, "Disabled tab." );
break;
case 3:
tabbedPane.addTab( "Tab 4", new JLabel( "non-opaque content", SwingConstants.CENTER ) );
break;
default:
int index = tabbedPane.getTabCount() + 1;
tabbedPane.addTab( "Tab " + index, createTab( "tab content " + index ) );
break;
}
}
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 tabIconsChanged() {
for( JTabbedPane tabbedPane : allTabbedPanes )
setTabIcons( tabbedPane );
tabIconSizeSpinner.setEnabled( tabIconsCheckBox.isSelected() );
}
private void setTabIcons( JTabbedPane tabbedPane ) {
boolean showTabIcons = tabIconsCheckBox.isSelected();
Object iconSize = tabIconSizeSpinner.getValue();
Icon icon = null;
Icon disabledIcon = null;
if( showTabIcons ) {
ImageIcon imageIcon = new ImageIcon( getClass().getResource( "/com/formdev/flatlaf/testing/test" + iconSize + ".png" ) );
icon = new ScaledImageIcon( imageIcon );
disabledIcon = UIManager.getLookAndFeel().getDisabledIcon( tabbedPane, imageIcon );
if( disabledIcon instanceof ImageIcon )
disabledIcon = new ScaledImageIcon( (ImageIcon) disabledIcon );
}
int tabCount = tabbedPane.getTabCount();
for( int i = 0; i < tabCount; i++ ) {
tabbedPane.setIconAt( i, icon );
tabbedPane.setDisabledIconAt( i, disabledIcon );
}
}
private void customBorderChanged() {
Border border = customBorderCheckBox.isSelected()
? new MatteBorder( 10, 20, 25, 35, Color.green )
: null;
for( JTabbedPane tabbedPane : allTabbedPanes )
tabbedPane.setBorder( border );
}
private void customTabsChanged() {
for( JTabbedPane tabbedPane : allTabbedPanes )
customTabsChanged( tabbedPane );
}
private void customTabsChanged( JTabbedPane tabbedPane ) {
boolean customTabs = customTabsCheckBox.isSelected();
int tabCount = tabbedPane.getTabCount();
if( tabCount > 1 )
tabbedPane.setTabComponentAt( 1, customTabs ? new JButton( tabbedPane.getTitleAt( 1 ) ) : null );
if( tabCount > 3 )
tabbedPane.setTabComponentAt( 3, customTabs ? createCustomTab( tabbedPane.getTitleAt( 3 ) ) : null );
if( tabCount > 5 )
tabbedPane.setTabComponentAt( 5, customTabs ? new JCheckBox( tabbedPane.getTitleAt( 5 ) ) : null );
}
private Component createCustomTab( String tabTitle ) {
JButton closeButton;
if( UIManager.getLookAndFeel() instanceof FlatLaf ) {
closeButton = new JButton( new FlatInternalFrameCloseIcon() );
closeButton.setContentAreaFilled( false );
closeButton.setBorder( null );
} else
closeButton = new JButton( "x" );
JPanel tab = new JPanel( new BorderLayout( 5, 0 ) );
tab.setOpaque( false );
tab.add( closeButton, BorderLayout.EAST );
tab.add( new JLabel( tabTitle ), BorderLayout.CENTER );
return tab;
}
private void htmlTabsChanged() {
for( JTabbedPane tabbedPane : allTabbedPanes )
htmlTabsChanged( tabbedPane );
}
private void htmlTabsChanged( JTabbedPane tabbedPane ) {
boolean html = htmlTabsCheckBox.isSelected();
boolean multiLine = multiLineTabsCheckBox.isSelected();
String s = multiLine
? "<html><b>Bold</b> Tab<br>Second <i>Line</i> "
: (html ? "<html><b>Bold</b> Tab " : "Tab ");
int tabCount = tabbedPane.getTabCount();
if( tabCount > 0 )
tabbedPane.setTitleAt( 0, s + "1" );
if( tabCount > 3 )
tabbedPane.setTitleAt( 3, s + "4" );
}
private void tabPlacementChanged() {
TabPlacement value = tabPlacementField.getSelectedValue();
int tabPlacement = (value != null) ? value.value : -1;
tabbedPane1.setTabPlacement( (tabPlacement >= 0) ? tabPlacement : SwingConstants.TOP );
tabbedPane2.setTabPlacement( (tabPlacement >= 0) ? tabPlacement : SwingConstants.BOTTOM );
tabbedPane3.setTabPlacement( (tabPlacement >= 0) ? tabPlacement : SwingConstants.LEFT );
tabbedPane4.setTabPlacement( (tabPlacement >= 0) ? tabPlacement : SwingConstants.RIGHT );
}
private void tabAlignmentChanged() {
JideTabAlignment value = tabAlignmentField.getSelectedValue();
for( JideTabbedPane tabbedPane : allTabbedPanes )
tabbedPane.setTabAlignment( value.value );
}
private void tabResizeModeChanged() {
JideTabResizeMode value = tabResizeModeField.getSelectedValue();
int resizeMode = (value != null) ? value.value : JideTabbedPane.RESIZE_MODE_DEFAULT;
for( JideTabbedPane tabbedPane : allTabbedPanes )
tabbedPane.setTabResizeMode( resizeMode );
}
private void tabBackForegroundChanged() {
for( JTabbedPane tabbedPane : allTabbedPanes )
tabBackForegroundChanged( tabbedPane );
}
private void tabBackForegroundChanged( JTabbedPane tabbedPane ) {
boolean enabled = tabBackForegroundCheckBox.isSelected();
int tabCount = tabbedPane.getTabCount();
if( tabCount > 0 )
tabbedPane.setBackgroundAt( 0, enabled ? Color.red : null );
if( tabCount > 1 )
tabbedPane.setForegroundAt( 1, enabled ? Color.red : null );
}
private void leadingComponentChanged() {
leadingTrailingComponentChanged( leadingComponentCheckBox.isSelected(), true, "L", 4 );
}
private void trailingComponentChanged() {
leadingTrailingComponentChanged( trailingComponentCheckBox.isSelected(), false, "Trailing", 12 );
}
private void leadingTrailingComponentChanged( boolean enabled, boolean leading, String text, int gap ) {
for( JideTabbedPane tabbedPane : allTabbedPanes ) {
JComponent c = null;
if( enabled ) {
c = new JLabel( text );
c.setOpaque( true );
c.setBackground( leading ? Color.cyan : Color.orange );
c.setBorder( new EmptyBorder( gap, gap, gap, gap ) );
}
if( leading )
tabbedPane.setTabLeadingComponent( c );
else
tabbedPane.setTabTrailingComponent( c );
}
}
private void tabsClosableChanged() {
boolean closable = tabsClosableCheckBox.isSelected() && tabScrollCheckBox.isSelected();
for( JideTabbedPane tabbedPane : allTabbedPanes ) {
tabbedPane.setShowCloseButton( closable );
tabbedPane.setShowCloseButtonOnTab( closable );
}
}
private void secondTabClosableChanged() {
boolean closable = secondTabClosableCheckBox.isSelected();
for( JideTabbedPane tabbedPane : allTabbedPanes ) {
if( tabbedPane.getTabCount() > 1 )
tabbedPane.setTabClosableAt( 1, closable );
}
}
private void showCloseButtonOnSelectedTabChanged() {
boolean onSelected = showCloseButtonOnSelectedTabCheckBox.isSelected();
for( JideTabbedPane tabbedPane : allTabbedPanes ) {
tabbedPane.setShowCloseButtonOnSelectedTab( onSelected );
tabbedPane.revalidate();
tabbedPane.repaint();
}
}
private void showCloseButtonOnMouseOverChanged() {
boolean onMouseOver = showCloseButtonOnMouseOverCheckBox.isSelected();
for( JideTabbedPane tabbedPane : allTabbedPanes ) {
tabbedPane.setShowCloseButtonOnMouseOver( onMouseOver );
tabbedPane.revalidate();
tabbedPane.repaint();
}
}
private void tabAreaInsetsChanged() {
Insets insets = tabAreaInsetsCheckBox.isSelected() ? new Insets( 5, 5, 10, 10 ) : null;
for( JideTabbedPane tabbedPane : allTabbedPanes )
tabbedPane.setTabAreaInsets( insets );
}
private void smallerInsetsChanged() {
Insets insets = smallerInsetsCheckBox.isSelected()
? new Insets( 2, 2, 2, 2 )
: UIManager.getInsets( "JideTabbedPane.tabInsets" );
for( JideTabbedPane tabbedPane : allTabbedPanes )
tabbedPane.setTabInsets( insets );
}
private void boldActiveTabChanged() {
boolean boldActiveTab = boldActiveTabCheckBox.isSelected();
for( JideTabbedPane tabbedPane : allTabbedPanes )
tabbedPane.setBoldActiveTab( boldActiveTab );
}
private void showTabButtonsChanged() {
boolean showTabButtons = showTabButtonsCheckBox.isSelected();
for( JideTabbedPane tabbedPane : allTabbedPanes )
tabbedPane.setShowTabButtons( showTabButtons );
}
private void initComponents() {
@@ -85,29 +374,39 @@ public class FlatJideOssContainerTest
JPanel panel9 = new JPanel();
JLabel tabbedPaneLabel = new JLabel();
tabbedPane1 = new JideTabbedPane();
JPanel panel1 = new JPanel();
JLabel label1 = new JLabel();
JPanel panel2 = new JPanel();
JLabel label2 = new JLabel();
tabbedPane3 = new JideTabbedPane();
JPanel panel5 = new JPanel();
JLabel label5 = new JLabel();
JPanel panel6 = new JPanel();
JLabel label6 = new JLabel();
tabbedPane2 = new JideTabbedPane();
JPanel panel3 = new JPanel();
JLabel label3 = new JLabel();
JPanel panel4 = new JPanel();
JLabel label4 = new JLabel();
tabbedPane4 = new JideTabbedPane();
JPanel panel7 = new JPanel();
JLabel label7 = new JLabel();
JPanel panel8 = new JPanel();
JLabel label8 = new JLabel();
JPanel panel14 = new JPanel();
moreTabsCheckBox = new JCheckBox();
FlatTestFrame.NoRightToLeftPanel tabbedPaneControlPanel = new FlatTestFrame.NoRightToLeftPanel();
tabScrollCheckBox = new JCheckBox();
JLabel tabCountLabel = new JLabel();
tabCountSpinner = new JSpinner();
customTabsCheckBox = new JCheckBox();
htmlTabsCheckBox = new JCheckBox();
multiLineTabsCheckBox = new JCheckBox();
tabBackForegroundCheckBox = new JCheckBox();
tabIconsCheckBox = new JCheckBox();
tabIconSizeSpinner = new JSpinner();
tabsClosableCheckBox = new JCheckBox();
showCloseButtonOnSelectedTabCheckBox = new JCheckBox();
JLabel tabPlacementLabel = new JLabel();
tabPlacementField = new FlatTestEnumComboBox<>();
secondTabClosableCheckBox = new JCheckBox();
showCloseButtonOnMouseOverCheckBox = new JCheckBox();
JLabel tabAreaAlignmentLabel = new JLabel();
tabAlignmentField = new FlatTestEnumComboBox<>();
JLabel tabResizeModeLabel = new JLabel();
tabResizeModeField = new FlatTestEnumComboBox<>();
leadingComponentCheckBox = new JCheckBox();
customBorderCheckBox = new JCheckBox();
tabAreaInsetsCheckBox = new JCheckBox();
trailingComponentCheckBox = new JCheckBox();
hasFullBorderCheckBox = new JCheckBox();
boldActiveTabCheckBox = new JCheckBox();
showTabButtonsCheckBox = new JCheckBox();
smallerInsetsCheckBox = new JCheckBox();
showTabSeparatorsCheckBox = new JCheckBox();
hideTabAreaWithOneTabCheckBox = new JCheckBox();
CellConstraints cc = new CellConstraints();
//======== this ========
@@ -122,156 +421,201 @@ public class FlatJideOssContainerTest
{
panel9.setOpaque(false);
panel9.setLayout(new FormLayout(
"70dlu:grow, $lcgap, 70dlu:grow",
"pref, 2*($lgap, fill:70dlu:grow), $lgap, pref"));
"70dlu:grow, $ugap, 70dlu:grow",
"pref, $lgap, fill:80dlu:grow, $ugap, fill:80dlu:grow, $pgap, pref"));
//---- tabbedPaneLabel ----
tabbedPaneLabel.setText("JideTabbedPane:");
panel9.add(tabbedPaneLabel, cc.xy(1, 1));
//======== 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, 3));
//======== 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, 3));
//======== 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, 5));
//======== 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, 5));
//======== panel14 ========
//======== tabbedPaneControlPanel ========
{
panel14.setOpaque(false);
panel14.setLayout(new MigLayout(
tabbedPaneControlPanel.setOpaque(false);
tabbedPaneControlPanel.setLayout(new MigLayout(
"insets 0,hidemode 3",
// columns
"[]" +
"[]" +
"[fill]" +
"[]",
// rows
"[center]"));
//---- moreTabsCheckBox ----
moreTabsCheckBox.setText("more tabs");
moreTabsCheckBox.setMnemonic('M');
moreTabsCheckBox.addActionListener(e -> moreTabsChanged());
panel14.add(moreTabsCheckBox, "cell 0 0");
"[center]" +
"[]" +
"[]" +
"[]" +
"[]" +
"[]para" +
"[]" +
"[]para" +
"[]" +
"[]" +
"[]"));
//---- tabScrollCheckBox ----
tabScrollCheckBox.setText("tabLayoutPolicy = SCROLL");
tabScrollCheckBox.setText("Use scroll layout");
tabScrollCheckBox.setMnemonic('S');
tabScrollCheckBox.setSelected(true);
tabScrollCheckBox.addActionListener(e -> tabScrollChanged());
panel14.add(tabScrollCheckBox, "cell 1 0,alignx left,growx 0");
tabbedPaneControlPanel.add(tabScrollCheckBox, "cell 0 0,alignx left,growx 0");
//---- tabCountLabel ----
tabCountLabel.setText("Tab count:");
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");
//---- customTabsCheckBox ----
customTabsCheckBox.setText("Custom tabs");
customTabsCheckBox.addActionListener(e -> customTabsChanged());
tabbedPaneControlPanel.add(customTabsCheckBox, "cell 2 0");
//---- htmlTabsCheckBox ----
htmlTabsCheckBox.setText("HTML");
htmlTabsCheckBox.addActionListener(e -> htmlTabsChanged());
tabbedPaneControlPanel.add(htmlTabsCheckBox, "cell 2 0");
//---- multiLineTabsCheckBox ----
multiLineTabsCheckBox.setText("multi-line");
multiLineTabsCheckBox.addActionListener(e -> htmlTabsChanged());
tabbedPaneControlPanel.add(multiLineTabsCheckBox, "cell 2 0");
//---- tabBackForegroundCheckBox ----
tabBackForegroundCheckBox.setText("Tab back/foreground");
tabBackForegroundCheckBox.addActionListener(e -> tabBackForegroundChanged());
tabbedPaneControlPanel.add(tabBackForegroundCheckBox, "cell 2 1");
//---- tabIconsCheckBox ----
tabIconsCheckBox.setText("Tab icons");
tabIconsCheckBox.addActionListener(e -> tabIconsChanged());
tabbedPaneControlPanel.add(tabIconsCheckBox, "cell 2 2");
//---- 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");
//---- showCloseButtonOnSelectedTabCheckBox ----
showCloseButtonOnSelectedTabCheckBox.setText("show on selected");
showCloseButtonOnSelectedTabCheckBox.addActionListener(e -> showCloseButtonOnSelectedTabChanged());
tabbedPaneControlPanel.add(showCloseButtonOnSelectedTabCheckBox, "cell 2 3");
//---- tabPlacementLabel ----
tabPlacementLabel.setText("Tab placement:");
tabbedPaneControlPanel.add(tabPlacementLabel, "cell 0 4");
//---- tabPlacementField ----
tabPlacementField.addActionListener(e -> tabPlacementChanged());
tabbedPaneControlPanel.add(tabPlacementField, "cell 1 4");
//---- secondTabClosableCheckBox ----
secondTabClosableCheckBox.setText("Second Tab closable");
secondTabClosableCheckBox.setSelected(true);
secondTabClosableCheckBox.addActionListener(e -> secondTabClosableChanged());
tabbedPaneControlPanel.add(secondTabClosableCheckBox, "cell 2 4");
//---- showCloseButtonOnMouseOverCheckBox ----
showCloseButtonOnMouseOverCheckBox.setText("show on hover");
showCloseButtonOnMouseOverCheckBox.addActionListener(e -> showCloseButtonOnMouseOverChanged());
tabbedPaneControlPanel.add(showCloseButtonOnMouseOverCheckBox, "cell 2 4");
//---- tabAreaAlignmentLabel ----
tabAreaAlignmentLabel.setText("Tab alignment:");
tabbedPaneControlPanel.add(tabAreaAlignmentLabel, "cell 0 5");
//---- tabAlignmentField ----
tabAlignmentField.addActionListener(e -> tabAlignmentChanged());
tabbedPaneControlPanel.add(tabAlignmentField, "cell 1 5");
//---- tabResizeModeLabel ----
tabResizeModeLabel.setText("Tab resize mode:");
tabbedPaneControlPanel.add(tabResizeModeLabel, "cell 2 5");
//---- tabResizeModeField ----
tabResizeModeField.addActionListener(e -> tabResizeModeChanged());
tabbedPaneControlPanel.add(tabResizeModeField, "cell 2 5");
//---- leadingComponentCheckBox ----
leadingComponentCheckBox.setText("Leading component");
leadingComponentCheckBox.addActionListener(e -> leadingComponentChanged());
tabbedPaneControlPanel.add(leadingComponentCheckBox, "cell 0 6");
//---- customBorderCheckBox ----
customBorderCheckBox.setText("Custom border");
customBorderCheckBox.addActionListener(e -> customBorderChanged());
tabbedPaneControlPanel.add(customBorderCheckBox, "cell 1 6");
//---- tabAreaInsetsCheckBox ----
tabAreaInsetsCheckBox.setText("Tab area insets (5,5,10,10)");
tabAreaInsetsCheckBox.addActionListener(e -> tabAreaInsetsChanged());
tabbedPaneControlPanel.add(tabAreaInsetsCheckBox, "cell 2 6");
//---- trailingComponentCheckBox ----
trailingComponentCheckBox.setText("Trailing component");
trailingComponentCheckBox.addActionListener(e -> trailingComponentChanged());
tabbedPaneControlPanel.add(trailingComponentCheckBox, "cell 0 7");
//---- hasFullBorderCheckBox ----
hasFullBorderCheckBox.setText("JTabbedPane.hasFullBorder");
hasFullBorderCheckBox.setMnemonic('F');
hasFullBorderCheckBox.setText("Show content border");
hasFullBorderCheckBox.addActionListener(e -> hasFullBorderChanged());
panel14.add(hasFullBorderCheckBox, "cell 2 0,alignx left,growx 0");
tabbedPaneControlPanel.add(hasFullBorderCheckBox, "cell 1 7,alignx left,growx 0");
//---- boldActiveTabCheckBox ----
boldActiveTabCheckBox.setText("Bold active tab");
boldActiveTabCheckBox.addActionListener(e -> boldActiveTabChanged());
tabbedPaneControlPanel.add(boldActiveTabCheckBox, "cell 0 8");
//---- showTabButtonsCheckBox ----
showTabButtonsCheckBox.setText("Show tab buttons always");
showTabButtonsCheckBox.addActionListener(e -> showTabButtonsChanged());
tabbedPaneControlPanel.add(showTabButtonsCheckBox, "cell 1 8");
//---- smallerInsetsCheckBox ----
smallerInsetsCheckBox.setText("Smaller tab insets (2,2,2,2)");
smallerInsetsCheckBox.addActionListener(e -> smallerInsetsChanged());
tabbedPaneControlPanel.add(smallerInsetsCheckBox, "cell 2 8");
//---- showTabSeparatorsCheckBox ----
showTabSeparatorsCheckBox.setText("Show tab separators");
showTabSeparatorsCheckBox.addActionListener(e -> showTabSeparatorsChanged());
tabbedPaneControlPanel.add(showTabSeparatorsCheckBox, "cell 1 9");
//---- hideTabAreaWithOneTabCheckBox ----
hideTabAreaWithOneTabCheckBox.setText("Hide tab area with one tab");
hideTabAreaWithOneTabCheckBox.addActionListener(e -> hideTabAreaWithOneTabChanged());
tabbedPaneControlPanel.add(hideTabAreaWithOneTabCheckBox, "cell 1 10");
}
panel9.add(panel14, cc.xywh(1, 7, 3, 1));
panel9.add(tabbedPaneControlPanel, cc.xywh(1, 7, 3, 1));
}
add(panel9, "cell 0 0");
// JFormDesigner - End of component initialization //GEN-END:initComponents
allTabbedPanes = new JideTabbedPane[] { tabbedPane1, tabbedPane2, tabbedPane3, tabbedPane4 };
}
// JFormDesigner - Variables declaration - DO NOT MODIFY //GEN-BEGIN:variables
@@ -279,8 +623,155 @@ public class FlatJideOssContainerTest
private JideTabbedPane tabbedPane3;
private JideTabbedPane tabbedPane2;
private JideTabbedPane tabbedPane4;
private JCheckBox moreTabsCheckBox;
private JCheckBox tabScrollCheckBox;
private JSpinner tabCountSpinner;
private JCheckBox customTabsCheckBox;
private JCheckBox htmlTabsCheckBox;
private JCheckBox multiLineTabsCheckBox;
private JCheckBox tabBackForegroundCheckBox;
private JCheckBox tabIconsCheckBox;
private JSpinner tabIconSizeSpinner;
private JCheckBox tabsClosableCheckBox;
private JCheckBox showCloseButtonOnSelectedTabCheckBox;
private FlatTestEnumComboBox<TabPlacement> tabPlacementField;
private JCheckBox secondTabClosableCheckBox;
private JCheckBox showCloseButtonOnMouseOverCheckBox;
private FlatTestEnumComboBox<JideTabAlignment> tabAlignmentField;
private FlatTestEnumComboBox<JideTabResizeMode> tabResizeModeField;
private JCheckBox leadingComponentCheckBox;
private JCheckBox customBorderCheckBox;
private JCheckBox tabAreaInsetsCheckBox;
private JCheckBox trailingComponentCheckBox;
private JCheckBox hasFullBorderCheckBox;
private JCheckBox boldActiveTabCheckBox;
private JCheckBox showTabButtonsCheckBox;
private JCheckBox smallerInsetsCheckBox;
private JCheckBox showTabSeparatorsCheckBox;
private JCheckBox hideTabAreaWithOneTabCheckBox;
// JFormDesigner - End of variables declaration //GEN-END:variables
private JideTabbedPane[] allTabbedPanes;
//---- enum TabPlacement --------------------------------------------------
enum TabPlacement {
top( SwingConstants.TOP ),
bottom( SwingConstants.BOTTOM ),
left( SwingConstants.LEFT ),
right( SwingConstants.RIGHT );
public final int value;
TabPlacement( int value ) {
this.value = value;
}
};
//---- enum JideTabAlignment ----------------------------------------------
enum JideTabAlignment {
leading( SwingConstants.LEADING ),
center( SwingConstants.CENTER );
public final int value;
JideTabAlignment( int value ) {
this.value = value;
}
};
//---- enum JideTabResizeMode ---------------------------------------------
enum JideTabResizeMode {
none( JideTabbedPane.RESIZE_MODE_NONE ),
fit( JideTabbedPane.RESIZE_MODE_FIT ),
fixed( JideTabbedPane.RESIZE_MODE_FIXED ),
compressed( JideTabbedPane.RESIZE_MODE_COMPRESSED );
public final int value;
JideTabResizeMode( int value ) {
this.value = value;
}
};
//---- 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
}
}

View File

@@ -13,8 +13,8 @@ new FormModel {
} ) {
name: "this"
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class com.jgoodies.forms.layout.FormLayout ) {
"$columnSpecs": "70dlu:grow, labelcompgap, 70dlu:grow"
"$rowSpecs": "pref, linegap, fill:70dlu:grow, linegap, fill:70dlu:grow, linegap, pref"
"$columnSpecs": "70dlu:grow, unrelgap, 70dlu:grow"
"$rowSpecs": "pref, linegap, fill:80dlu:grow, unrelgap, fill:80dlu:grow, pargap, pref"
} ) {
name: "panel9"
"opaque": false
@@ -29,27 +29,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": 3
@@ -60,30 +39,9 @@ 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": 3
"gridX": 3
} )
add( new FormContainer( "com.jidesoft.swing.JideTabbedPane", new FormLayoutManager( class javax.swing.JTabbedPane ) ) {
name: "tabbedPane2"
@@ -91,28 +49,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": 5
} )
@@ -122,71 +58,304 @@ 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": 5
"gridX": 3
} )
add( new FormContainer( "javax.swing.JPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) {
add( new FormContainer( "com.formdev.flatlaf.testing.FlatTestFrame$NoRightToLeftPanel", new FormLayoutManager( class net.miginfocom.swing.MigLayout ) {
"$layoutConstraints": "insets 0,hidemode 3"
"$columnConstraints": "[][][]"
"$rowConstraints": "[center]"
"$columnConstraints": "[][fill][]"
"$rowConstraints": "[center][][][][][]para[][]para[][][]"
} ) {
name: "panel14"
name: "tabbedPaneControlPanel"
"opaque": false
add( new FormComponent( "javax.swing.JCheckBox" ) {
name: "moreTabsCheckBox"
"text": "more tabs"
"mnemonic": 77
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "moreTabsChanged", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 0"
} )
add( new FormComponent( "javax.swing.JCheckBox" ) {
name: "tabScrollCheckBox"
"text": "tabLayoutPolicy = SCROLL"
"text": "Use scroll layout"
"mnemonic": 83
"selected": true
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "tabScrollChanged", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 0,alignx left,growx 0"
"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 1 0"
} )
add( new FormComponent( "javax.swing.JSpinner" ) {
name: "tabCountSpinner"
"model": new javax.swing.SpinnerNumberModel {
minimum: 0
value: 4
}
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
addEvent( new FormEvent( "javax.swing.event.ChangeListener", "stateChanged", "tabCountChanged", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 0"
} )
add( new FormComponent( "javax.swing.JCheckBox" ) {
name: "customTabsCheckBox"
"text": "Custom tabs"
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "customTabsChanged", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 0"
} )
add( new FormComponent( "javax.swing.JCheckBox" ) {
name: "htmlTabsCheckBox"
"text": "HTML"
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "htmlTabsChanged", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 0"
} )
add( new FormComponent( "javax.swing.JCheckBox" ) {
name: "multiLineTabsCheckBox"
"text": "multi-line"
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "htmlTabsChanged", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 0"
} )
add( new FormComponent( "javax.swing.JCheckBox" ) {
name: "tabBackForegroundCheckBox"
"text": "Tab back/foreground"
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "tabBackForegroundChanged", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 1"
} )
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.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 2 2"
} )
add( new FormComponent( "javax.swing.JCheckBox" ) {
name: "tabsClosableCheckBox"
"text": "Tabs closable"
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "tabsClosableChanged", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 3"
} )
add( new FormComponent( "javax.swing.JCheckBox" ) {
name: "showCloseButtonOnSelectedTabCheckBox"
"text": "show on selected"
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "showCloseButtonOnSelectedTabChanged", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 3"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "tabPlacementLabel"
"text": "Tab placement:"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 4"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatTestEnumComboBox" ) {
name: "tabPlacementField"
auxiliary() {
"JavaCodeGenerator.variableLocal": false
"JavaCodeGenerator.typeParameters": "TabPlacement"
}
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "tabPlacementChanged", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 4"
} )
add( new FormComponent( "javax.swing.JCheckBox" ) {
name: "secondTabClosableCheckBox"
"text": "Second Tab closable"
"selected": true
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "secondTabClosableChanged", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 4"
} )
add( new FormComponent( "javax.swing.JCheckBox" ) {
name: "showCloseButtonOnMouseOverCheckBox"
"text": "show on hover"
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "showCloseButtonOnMouseOverChanged", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 4"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "tabAreaAlignmentLabel"
"text": "Tab alignment:"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 5"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatTestEnumComboBox" ) {
name: "tabAlignmentField"
auxiliary() {
"JavaCodeGenerator.variableLocal": false
"JavaCodeGenerator.typeParameters": "JideTabAlignment"
}
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "tabAlignmentChanged", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 5"
} )
add( new FormComponent( "javax.swing.JLabel" ) {
name: "tabResizeModeLabel"
"text": "Tab resize mode:"
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 5"
} )
add( new FormComponent( "com.formdev.flatlaf.testing.FlatTestEnumComboBox" ) {
name: "tabResizeModeField"
auxiliary() {
"JavaCodeGenerator.variableLocal": false
"JavaCodeGenerator.typeParameters": "JideTabResizeMode"
}
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "tabResizeModeChanged", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 5"
} )
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 6"
} )
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 6"
} )
add( new FormComponent( "javax.swing.JCheckBox" ) {
name: "tabAreaInsetsCheckBox"
"text": "Tab area insets (5,5,10,10)"
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "tabAreaInsetsChanged", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 2 6"
} )
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 7"
} )
add( new FormComponent( "javax.swing.JCheckBox" ) {
name: "hasFullBorderCheckBox"
"text": "JTabbedPane.hasFullBorder"
"mnemonic": 70
"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 2 0,alignx left,growx 0"
"value": "cell 1 7,alignx left,growx 0"
} )
add( new FormComponent( "javax.swing.JCheckBox" ) {
name: "boldActiveTabCheckBox"
"text": "Bold active tab"
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "boldActiveTabChanged", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 0 8"
} )
add( new FormComponent( "javax.swing.JCheckBox" ) {
name: "showTabButtonsCheckBox"
"text": "Show tab buttons always"
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "showTabButtonsChanged", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 8"
} )
add( new FormComponent( "javax.swing.JCheckBox" ) {
name: "smallerInsetsCheckBox"
"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 8"
} )
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 9"
} )
add( new FormComponent( "javax.swing.JCheckBox" ) {
name: "hideTabAreaWithOneTabCheckBox"
"text": "Hide tab area with one tab"
auxiliary() {
"JavaCodeGenerator.variableLocal": false
}
addEvent( new FormEvent( "java.awt.event.ActionListener", "actionPerformed", "hideTabAreaWithOneTabChanged", false ) )
}, new FormLayoutConstraints( class net.miginfocom.layout.CC ) {
"value": "cell 1 10"
} )
}, new FormLayoutConstraints( class com.jgoodies.forms.layout.CellConstraints ) {
"gridY": 7
@@ -197,7 +366,63 @@ new FormModel {
} )
}, new FormLayoutConstraints( null ) {
"location": new java.awt.Point( 0, 0 )
"size": new java.awt.Dimension( 500, 500 )
"size": new java.awt.Dimension( 695, 655 )
} )
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, 710 )
"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, 710 )
"size": new java.awt.Dimension( 291, 118 )
} )
}
}