apply jalview code style
[jalview.git] / src / jalview / gui / JvSwingUtils.java
1 /*
2  * Jalview - A Sequence Alignment Editor and Viewer (Version 2.6)
3  * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle
4  * 
5  * This file is part of Jalview.
6  * 
7  * Jalview is free software: you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License 
9  * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
10  * 
11  * Jalview is distributed in the hope that it will be useful, but 
12  * WITHOUT ANY WARRANTY; without even the implied warranty 
13  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
14  * PURPOSE.  See the GNU General Public License for more details.
15  * 
16  * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.
17  */
18 package jalview.gui;
19
20 import java.awt.Color;
21 import java.awt.Font;
22 import java.awt.event.ActionListener;
23
24 import javax.swing.JButton;
25 import javax.swing.SwingConstants;
26
27 /**
28  * useful functions for building Swing GUIs
29  * 
30  * @author JimP
31  * 
32  */
33 public final class JvSwingUtils
34 {
35   /**
36    * wrap a bare html safe string to around 60 characters per line using a
37    * <table width=350>
38    * <tr>
39    * <td></td> field
40    * 
41    * @param ttext
42    * @return
43    */
44   public static String wrapTooltip(String ttext)
45   {
46     if (ttext.length() < 60)
47     {
48       return ttext;
49     }
50     else
51     {
52       return "<table width=350 border=0><tr><td>" + ttext
53               + "</td></tr></table>";
54     }
55   }
56
57   public static JButton makeButton(String label, String tooltip,
58           ActionListener action)
59   {
60     JButton button = new JButton();
61     button.setText(label);
62     // TODO: get the base font metrics for the Jalview gui from somewhere
63     button.setFont(new java.awt.Font("Verdana", Font.PLAIN, 10));
64     button.setForeground(Color.black);
65     button.setHorizontalAlignment(SwingConstants.CENTER);
66     button.setToolTipText(tooltip);
67     button.addActionListener(action);
68     return button;
69   }
70
71 }