001 package org.springframework.richclient.taskpane;
002
003 import org.springframework.richclient.command.AbstractCommand;
004 import org.springframework.richclient.command.config.DefaultCommandButtonConfigurer;
005 import org.springframework.richclient.command.config.CommandFaceDescriptor;
006 import org.springframework.util.Assert;
007 import org.springframework.util.StringUtils;
008
009 import javax.swing.*;
010 import javax.swing.plaf.ButtonUI;
011
012 public class JTaskPaneCommandButtonConfigurer extends DefaultCommandButtonConfigurer
013 {
014 public void configure(AbstractButton button, AbstractCommand command, CommandFaceDescriptor faceDescriptor)
015 {
016
017 Assert.notNull(button, "The button to configure cannot be null.");
018 Assert.notNull(faceDescriptor, "The command face descriptor cannot be null.");
019
020 if (StringUtils.hasText(faceDescriptor.getDescription()))
021 button.setText(faceDescriptor.getDescription());
022 else
023 button.setText(faceDescriptor.getText());
024
025 button.setToolTipText(faceDescriptor.getCaption());
026
027 if (faceDescriptor.getLargeIcon() != null)
028 faceDescriptor.configureIconInfo(button, true);
029 else
030 faceDescriptor.configureIcon(button);
031 try
032 {
033 button.setUI((ButtonUI) Class.forName((String) UIManager.get("LinkButtonUI")).newInstance());
034 }
035 catch (Exception e)
036 {
037
038 }
039 }
040 }