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 }