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 }