001    package org.springframework.richclient.samples.showcase.command;
002    
003    import java.util.ArrayList;
004    import java.util.List;
005    
006    import javax.swing.JComponent;
007    import javax.swing.JPanel;
008    import javax.swing.JTextField;
009    
010    import org.springframework.richclient.application.Application;
011    import org.springframework.richclient.command.CommandGroupFactoryBean;
012    import org.springframework.richclient.command.CommandManager;
013    import org.springframework.richclient.dialog.ApplicationDialog;
014    
015    import com.jgoodies.forms.factories.FormFactory;
016    import com.jgoodies.forms.layout.CellConstraints;
017    import com.jgoodies.forms.layout.ColumnSpec;
018    import com.jgoodies.forms.layout.FormLayout;
019    import com.jgoodies.forms.layout.RowSpec;
020    import com.jgoodies.forms.layout.Sizes;
021    
022    public class ToolbarSample extends ApplicationDialog {
023    
024            private String[] commandIds = new String[] { "basicApplicationDialogCommand", "basicConfirmationDialogCommand",
025                            "basicInputApplicationDialogCommand" };
026    
027            @Override
028            protected JComponent createDialogContentPane() {
029                    JPanel panel = new JPanel(new FormLayout(new ColumnSpec[] { new ColumnSpec(ColumnSpec.LEFT, Sizes.DEFAULT,
030                                    ColumnSpec.DEFAULT_GROW) }, new RowSpec[] { FormFactory.DEFAULT_ROWSPEC, FormFactory.LINE_GAP_ROWSPEC,
031                                    FormFactory.DEFAULT_ROWSPEC }));
032                    CommandManager commandManager = Application.instance().getActiveWindow().getCommandManager();
033                    List<Object> members = new ArrayList<Object>();
034                    for (int i = 0; i < commandIds.length; i++) {
035                            members.add(commandManager.getCommand(commandIds[i]));
036                    }
037    
038                    CellConstraints cc = new CellConstraints();
039    
040                    CommandGroupFactoryBean commandGroupFactory = new CommandGroupFactoryBean("toolbar", members.toArray());
041                    panel.add(commandGroupFactory.getCommandGroup().createToolBar(), cc.xy(1, 1));
042    
043                    JTextField toolbarTextField = new JTextField(20);
044                    toolbarTextField.setText("input");
045                    members.add(toolbarTextField);
046                    commandGroupFactory = new CommandGroupFactoryBean("toolbar2", members.toArray());
047                    panel.add(commandGroupFactory.getCommandGroup().createToolBar(), cc.xy(1, 3));
048    
049                    return panel;
050            }
051    
052            @Override
053            protected boolean onFinish() {
054                    return true;
055            }
056    }