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 }