/*
Copyright (c) 1996 by Yuri Mikhaylov. All rights reserved.
*/

import java.awt.*;
import java.util.*;
import java.applet.*;


public class ModifyString extends Applet
{
	TextField text;
	String outtext="AbCdEfGh";

	public ModifyString()
	{
		setLayout( new FlowLayout( FlowLayout.CENTER, 50, 20));

		add( text=new TextField("AbCdEfGh",48));
		add(new Button("Upper"));
		add(new Button("Lower"));
		add(new Button("Inverse"));

		resize( 250, 150 );
		show();
	}

	public boolean action( Event evt, Object obj )
	{
		if ( evt.target instanceof Button )
		{
			String label=(String)obj;
			if ( label.equals("Upper") )
			{
				outtext="Upper text is "+
					UpperText(text.getText());
			}
			if ( label.equals("Lower") )
			{
				outtext="Lower text is "+
					LowerText(text.getText());
			}
			if ( label.equals("Inverse") )
			{
				outtext="Inverse text is "+
					InverseText(text.getText());
			}
			repaint();
		}
		return true;
	}

	public void paint( Graphics g )
	{
		g.setPaintMode();
		g.drawString(outtext,30,120);
	}

	public String UpperText( String s )
	{
		String r="";
		char c[]=new char[128];
		s.getChars( 0, s.length(), c, 0);
		for ( int i=0; i<s.length(); i++ )
		{
			if ( c[i]>='a' && c[i]<='z' )
			{
				c[i]-=(char)32;
			}
		}
		r= new String(c);
		return r;
	}

	public String LowerText( String s )
	{
		String r="";
		char c[]=new char[128];
		s.getChars( 0, s.length(), c, 0);
		for ( int i=0; i<s.length(); i++ )
		{
			if ( c[i]>='A' && c[i]<='Z' )
			{
				c[i]+=(char)32;
			}
		}
		r= new String(c);
		return r;
	}

	public String InverseText( String s )
	{
		String r="";
		char c[]=new char[128];
		s.getChars( 0, s.length(), c, 0);
		for ( int i=0; i<s.length(); i++ )
		{
			if ( c[i]>='A' && c[i]<='Z' )
			{
				c[i]+=(char)32;
			}
			else if ( c[i]>='a' && c[i]<='z' )
			{
				c[i]-=(char)32;
			}
		}
		r= new String(c);
		return r;
	}

	public void init()
	{
		Applet f = new ModifyString();
	}

}

