import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
class InvertiTesto extends JTextField 
{	class AscoltatoreT implements ActionListener
	{	public void actionPerformed(ActionEvent e)
		{	String s = getText();
			char[] car = s.toCharArray();
			char[] res = new char[car.length];
			for(int i=0; i<car.length; i++)
				res[res.length - i-1] = car[i];
			String inv = new String(res);
			setText(inv);
		}
	}
	InvertiTesto(int colonne)
	{	super(colonne);
		AscoltatoreT at = new AscoltatoreT();
		addActionListener(at);
	}
}

class FrameTF extends JFrame
{	FrameTF(String s)
	{	super(s);
		setDefaultCloseOperation
				(JFrame.DISPOSE_ON_CLOSE);
		Container c = getContentPane();
		c. setLayout(new GridLayout(2, 1));
		JLabel la = new JLabel("Inserisci del testo "+
				"e premi enter");
		c.add(la);
		InvertiTesto it = new InvertiTesto(20);
		c.add(it);
	}
}

public class ProvaIT
{	public static void main(String[] args)
	{	FrameTF fr = new FrameTF("Esempio testo");
		fr.setSize(250, 100);
		fr.setVisible(true);
	}
}
