package mit.swing ;

public class xJTextFieldUpperCase
extends javax.swing.JTextField
implements	mit.event.EventControl
{
	protected javax.swing.text.Document createDefaultModel()
	{
		return new UpperCaseDocument() ;
	}
 
	static class UpperCaseDocument extends javax.swing.text.PlainDocument
	{
		public void insertString( int offs , String str , javax.swing.text.AttributeSet a ) 
		throws javax.swing.text.BadLocationException
		{
			if( null != str )
			{
				char[] upper = str.toCharArray() ;
				for ( int i = 0 ; upper.length != i ; i++ )
				{
					upper[ i ] = Character.toUpperCase( upper[ i ] ) ;
				}
				super.insertString( offs, new String( upper ) , a ) ;
			}
		}
	}

	private mit.event.EventControlAdapter eventControlAdapter = new mit.event.EventControlAdapter( this ) ;
	public mit.event.EventControlAdapter getEventControlAdapter() { return this.eventControlAdapter ; }
	public void setEventControlAdapter( mit.event.EventControlAdapter eventControlAdapter ) { this.eventControlAdapter = eventControlAdapter ; }

	protected mit.awt.event.ActionAdapter action = new mit.awt.event.ActionAdapter( this ) ;
	protected mit.awt.event.ComponentAdapter component = new mit.awt.event.ComponentAdapter( this ) ;
	protected mit.awt.event.FocusAdapter focus = new mit.awt.event.FocusAdapter( this ) ;
	protected mit.awt.event.KeyAdapter key = new mit.awt.event.KeyAdapter( this ) ;
	protected mit.awt.event.MouseAdapter mouse = new mit.awt.event.MouseAdapter( this ) ;
	protected mit.swing.event.DocumentAdapter document = new mit.swing.event.DocumentAdapter( this ) ;

	public void addNotify()
	{
		super.addNotify() ;
		mit.event.Event.invalidate() ;
	}

	public void removeNotify()
	{
		super.removeNotify() ;
		mit.event.Event.invalidate() ;
	}

}