1
2
3
4
5
6
7
8
9
10
11
12
13 package com.eviware.x.impl.swing;
14
15 import com.eviware.soapui.support.components.JUndoableTextArea;
16 import com.eviware.x.form.XFormTextField;
17
18 import javax.swing.*;
19 import java.awt.*;
20
21 public class JTextAreaFormField extends AbstractSwingXFormField<JComponent> implements XFormTextField
22 {
23 private JScrollPane scrollPane;
24
25 public JTextAreaFormField()
26 {
27 super( new JUndoableTextArea() );
28
29 scrollPane = new JScrollPane( super.getComponent() );
30 }
31
32 public void setRequired(boolean required, String message)
33 {
34 super.setRequired(required, message);
35
36 if( required )
37 getComponent().setBorder(
38 BorderFactory.createCompoundBorder(
39 BorderFactory.createLineBorder( Color.RED ),
40 BorderFactory.createEmptyBorder( 2, 2, 2, 2 )));
41 else
42 getComponent().setBorder(
43 BorderFactory.createCompoundBorder(
44 BorderFactory.createLineBorder( Color.GRAY ),
45 BorderFactory.createEmptyBorder( 2, 2, 2, 2 )));
46 }
47
48 public JTextArea getTextArea()
49 {
50 return (JTextArea) super.getComponent();
51 }
52
53 public JComponent getComponent()
54 {
55 return scrollPane;
56 }
57
58 public void setValue(String value)
59 {
60 getTextArea().setText( value );
61 }
62
63 public String getValue()
64 {
65 return getTextArea().getText();
66 }
67
68 public void setWidth(int columns)
69 {
70 getTextArea().setColumns( columns );
71 }
72
73 @Override
74 public boolean isMultiRow()
75 {
76 return true;
77 }
78 }