001 // This file is part of the Attempto Java Packages.
002 // Copyright 2008, Attempto Group, University of Zurich (see http://attempto.ifi.uzh.ch).
003 //
004 // The Attempto Java Packages is free software: you can redistribute it and/or modify it under the
005 // terms of the GNU Lesser General Public License as published by the Free Software Foundation,
006 // either version 3 of the License, or (at your option) any later version.
007 //
008 // The Attempto Java Packages is distributed in the hope that it will be useful, but WITHOUT ANY
009 // WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
010 // PURPOSE. See the GNU Lesser General Public License for more details.
011 //
012 // You should have received a copy of the GNU Lesser General Public License along with the Attempto
013 // Java Packages. If not, see http://www.gnu.org/licenses/.
014
015 package ch.uzh.ifi.attempto.echocomp;
016
017 import nextapp.echo2.app.Alignment;
018 import nextapp.echo2.app.Button;
019 import nextapp.echo2.app.Color;
020 import nextapp.echo2.app.Extent;
021 import nextapp.echo2.app.Font;
022 import nextapp.echo2.app.Insets;
023 import nextapp.echo2.app.event.ActionListener;
024
025 /**
026 * This class creates borderless small buttons.
027 *
028 * @author Tobias Kuhn
029 */
030 public class SmallButton extends Button {
031
032 private static final long serialVersionUID = 1529104452172147464L;
033
034 /**
035 * Creates a new small button.
036 *
037 * @param text The button text.
038 * @param actionListener The action-listener of the button.
039 * @param size The size of the text.
040 * @param enabled false if the button should be disabled.
041 */
042 public SmallButton(String text, ActionListener actionListener, int size, boolean enabled) {
043 super(text);
044
045 setActionCommand(text);
046 addActionListener(actionListener);
047
048 setHeight(new Extent(size + 2));
049 setFont(new Font(Style.fontTypeface, Font.ITALIC, new Extent(size)));
050 setBackground(null);
051 setForeground(Style.mediumForeground);
052 setDisabledBackground(null);
053 setDisabledForeground(Color.BLACK);
054 setActionCommand(text);
055
056 setRolloverEnabled(true);
057 setRolloverForeground(Style.lightForeground);
058 setRolloverBackground(Style.darkBackground);
059 setInsets(new Insets(2, 1));
060 setAlignment(new Alignment(Alignment.CENTER, Alignment.CENTER));
061 setTextAlignment(new Alignment(Alignment.CENTER, Alignment.CENTER));
062
063 setEnabled(enabled);
064 setLineWrap(false);
065 }
066
067 /**
068 * Creates a new small button.
069 *
070 * @param text The button text.
071 * @param actionListener The action-listener of the button.
072 * @param size The size of the text.
073 */
074 public SmallButton(String text, ActionListener actionListener, int size) {
075 this(text, actionListener, size, true);
076 }
077
078 /**
079 * Creates a new small button with text size 10.
080 *
081 * @param text The button text.
082 * @param actionListener The action-listener of the button.
083 * @param enabled false if the button should be disabled.
084 */
085 public SmallButton(String text, ActionListener actionListener, boolean enabled) {
086 this(text, actionListener, 10, enabled);
087 }
088
089 /**
090 * Creates a new small button with text size 10.
091 *
092 * @param text The button text.
093 * @param actionListener The action-listener of the button.
094 */
095 public SmallButton(String text, ActionListener actionListener) {
096 this(text, actionListener, 10, true);
097 }
098
099 }