Kann Fehler mit ActionListener nicht herausfinden

Das folgende ist mein Programm. Das Ziel besteht darin, eine römische Zahl in eine arabische Zahl umzuwandeln, nachdem ein Benutzer die Zahl eingegeben und die Eingabetaste gedrückt hat.

Dies ist eine Hausaufgabe und wir sind gezwungen, BenutzerJTextAreas anstelle vonJTextFields.

Mein Fehler ist in der Zeile vorhanden:enterRomanNumber.addActionListener(handler); Der Fehler lautet:

"Die Methode addActionListener (ArabicToRomanGUI.HandlerForTextArea) ist für den Typ JTextArea undefiniert"

Ich kann nicht herausfinden, warum ich diesen Fehler erhalte oder wie ich ihn korrigiere. Kann mir jemand einen Rat geben?

import java.awt.FlowLayout;
import java.awt.event.ActionListener;
import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;
import java.awt.event.ActionEvent;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextArea;
public class ArabicToRomanGUI extends JFrame
{
private static final long serialVersionUID = 1L;
private JTextArea enterRomanNumber = new JTextArea();
JLabel label = new JLabel();
JPanel panel = new JPanel();
JFrame frame = new JFrame();


//TestArea contructor adds jtextArea to jframe
public ArabicToRomanGUI()
{
    super("Convert a Roman Numeral");
    setLayout(new FlowLayout());

    //Text field to enter a roman numeral
    enterRomanNumber = new JTextArea(1,25);
    enterRomanNumber.setText("Delete this text and Enter a Roman Numerial Here!");
    //enterRomanNumber.setAlignmentX(0);
    //enterRomanNumber.setAlignmentY(0);

    add(enterRomanNumber);

    HandlerForTextArea handler = new HandlerForTextArea();
    enterRomanNumber.addActionListener(handler);
}

private class HandlerForTextArea implements ActionListener
{
    //used to process textArea events
    @Override
    public void actionPerformed(ActionEvent e) 
    {
        String userInput = "";
        userInput = enterRomanNumber.getText();
        userInput = userInput.toUpperCase();

        ConversionLogic.ConvertFromRomanToArabic(userInput); //converts user string of Roman numerals to an int in arabic
        String arabicNumberAsString = ConversionLogic.getConvertedRomanNumeral();
        enterRomanNumber.setText(arabicNumberAsString);

        //user pressed enter in JTextField enterNumberField
        if(e.getSource() == enterRomanNumber)
        {
            //enterRomanNumber.setText(arabicNumberAsString);
            if (ConversionLogic.getCheckFail() == true)
            {
                JOptionPane.showMessageDialog(frame, "The Roman Numeral entered is Invalid", "Error", JOptionPane.ERROR_MESSAGE);
            }
            else
            {
                JOptionPane.showMessageDialog(frame, "The arabic equivalent is " + arabicNumberAsString + "." , "Conversion Successful", JOptionPane.PLAIN_MESSAGE);
            }
        }

    }
}
}//end inner class TextAreaHandler