View Javadoc

1   /*
2    *  soapUI, copyright (C) 2004-2008 eviware.com 
3    *
4    *  soapUI is free software; you can redistribute it and/or modify it under the 
5    *  terms of version 2.1 of the GNU Lesser General Public License as published by 
6    *  the Free Software Foundation.
7    *
8    *  soapUI is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without 
9    *  even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 
10   *  See the GNU Lesser General Public License for more details at gnu.org.
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  }