1 package net.sf.bibkeeper;
2
3 import javax.swing;
4 import java.awt.Dimension;
5 import java.awt.Color;
6 import java.awt.event;
7
8 public class FieldTextArea extends JTextArea implements FieldEditor {
9
10 Dimension PREFERRED_SIZE;
11 protected JScrollPane sp;
12 protected JLabel label;
13 protected String fieldName;
14 //protected Completer completer;
15
16 public FieldTextArea(String fieldName_, String content) {
17 super(content);
18 sp = new JScrollPane(this, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
19 JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
20 setLineWrap(true);
21 setWrapStyleWord(true);
22 fieldName = fieldName_;
23
24 //Util.pr(""+15*rows);
25 label = new JLabel(Util.nCase(fieldName));
26 //label.setBorder(BorderFactory.createEtchedBorder());
27 setBackground(GUIGlobals.validFieldBackground);
28 if ((content != null) && (content.length() > 0))
29 label.setForeground(GUIGlobals.validFieldColor);
30 // At construction time, the field can never have an invalid value.
31 else
32 label.setForeground(GUIGlobals.nullFieldColor);
33
34 }
35
36 public void setAutoComplete(Completer completer) {
37 addKeyListener(new AutoCompListener(completer));
38 }
39
40 /*public Dimension getPreferredSize() {
41 return PREFERRED_SIZE;
42 }*/
43
44 public Dimension getPreferredScrollableViewportSize() {
45 return PREFERRED_SIZE;
46 }
47
48 public String getFieldName() { return fieldName; }
49 public void setFieldName(String newName) { fieldName = newName ; }
50 public JLabel getLabel() { return label; }
51 public void setLabelColor(Color c) { label.setForeground(c); }
52 public JComponent getPane() { return sp; }
53
54 }