// ButtonHelper
package org.javamoney.examples.ez.common.utility;
import java.awt.event.ActionListener;
import javax.swing.AbstractButton;
import javax.swing.ButtonGroup;
import javax.swing.Icon;
/**
* This class facilitates building buttons such as standard buttons, check
* boxes, radio buttons, and menu items, by setting their most commonly used
* attributes.
*/
public
final
class
ButtonHelper
{
/**
* This method builds the specified button according to the specified
* parameters.
*
* @param button The button to build.
* @param icon The icon to use.
* @param handler The action listener that monitors the buttons events.
* @param command The action command used when the button is clicked.
* @param tip The tool tip to display.
*/
public
static
void
buildButton(AbstractButton button, Icon icon, ActionListener handler,
String command, String tip)
{
buildButton(button, "", icon, handler, command, tip);
}
/**
* This method builds the specified button according to the specified
* parameters.
*
* @param button The button to build.
* @param text The text displayed on the button.
* @param handler The action listener that monitors the buttons events.
*/
public
static
void
buildButton(AbstractButton button, String text, ActionListener handler)
{
buildButton(button, text, handler, text);
}
/**
* This method builds the specified button according to the specified
* parameters.
*
* @param button The button to build.
* @param text The text displayed on the button.
* @param handler The action listener that monitors the buttons events.
* @param selected The initial selected state of the button.
*/
public
static
void
buildButton(AbstractButton button, String text, ActionListener handler,
boolean selected)
{
buildButton(button, text, null, handler, text, null, selected, null);
}
/**
* This method builds the specified button according to the specified
* parameters.
*
* @param button The button to build.
* @param text The text displayed on the button.
* @param handler The action listener that monitors the buttons events.
* @param group The group the button should belong to.
*/
public
static
void
buildButton(AbstractButton button, String text, ActionListener handler,
ButtonGroup group)
{
buildButton(button, text, null, handler, text, group, false, null);
}
/**
* This method builds the specified button according to the specified
* parameters.
*
* @param button The button to build.
* @param text The text displayed on the button.
* @param handler The action listener that monitors the buttons events.
* @param command The action command used when the button is clicked.
*/
public
static
void
buildButton(AbstractButton button, String text, ActionListener handler,
String command)
{
buildButton(button, text, null, handler, command, null);
}
/**
* This method builds the specified button according to the specified
* parameters.
*
* @param button The button to build.
* @param text The text displayed on the button.
* @param handler The action listener that monitors the buttons events.
* @param command The action command used when the button is clicked.
* @param tip The tool tip to display.
*/
public
static
void
buildButton(AbstractButton button, String text, ActionListener handler,
String command, String tip)
{
buildButton(button, text, null, handler, command, tip);
}
/**
* This method builds the specified button according to the specified
* parameters.
*
* @param button The button to build.
* @param text The text displayed on the button.
* @param icon The icon to use.
* @param handler The action listener that monitors the buttons events.
*/
public
static
void
buildButton(AbstractButton button, String text, Icon icon,
ActionListener handler)
{
buildButton(button, text, icon, handler, text, null, false, null);
}
/**
* This method builds the specified button according to the specified
* parameters.
*
* @param button The button to build.
* @param text The text displayed on the button.
* @param icon The icon to use.
* @param handler The action listener that monitors the buttons events.
* @param command The action command used when the button is clicked.
* @param tip The tool tip to display.
*/
public
static
void
buildButton(AbstractButton button, String text, Icon icon,
ActionListener handler, String command, String tip)
{
buildButton(button, text, icon, handler, command, null, false, tip);
}
/**
* This method builds the specified button according to the specified
* parameters.
*
* @param button The button to build.
* @param text The text displayed on the button.
* @param icon The icon to use.
* @param handler The action listener that monitors the buttons events.
* @param command The action command used when the button is clicked.
* @param group The group the button should belong to.
* @param selected The initial selected state of the button.
* @param tip The tool tip to display.
*/
public
static
void
buildButton(AbstractButton button, String text, Icon icon,
ActionListener handler, String command, ButtonGroup group,
boolean selected, String tip)
{
button.addActionListener(handler);
button.setActionCommand(command);
button.setIcon(icon);
button.setSelected(selected);
button.setText(text);
button.setToolTipText(tip);
if(group != null)
{
group.add(button);
}
}
}