1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.xnap.gui.component;
21
22 import javax.swing.JTextArea;
23 import javax.swing.LookAndFeel;
24 import javax.swing.UIManager;
25
26 /***
27 * This class uses a <tt>JTextArea</tt> to simulate a <tt>JLabel</tt> that
28 * allows multiple-line labels. It does this by using JLabel's values for
29 * border, font, etc.
30 */
31 public class MultiLineLabel extends JTextArea
32 {
33
34 /***
35 * Creates a label that can have multiple lines and that has the
36 * default width.
37 *
38 * @param s the <tt>String</tt> to display in the label
39 */
40 public MultiLineLabel(String s)
41 {
42 setEditable(false);
43 setLineWrap(true);
44 setWrapStyleWord(true);
45 setHighlighter(null);
46 LookAndFeel.installBorder(this, "Label.border");
47 LookAndFeel.installColorsAndFont(this, "Label.background",
48 "Label.foreground", "Label.font");
49 setSelectedTextColor(UIManager.getColor("Label.foreground"));
50 setText(s);
51 }
52
53 public MultiLineLabel()
54 {
55 this(" ");
56 }
57
58 }