Java 从ActionListener调用方法

Java 从ActionListener调用方法,java,Java,我有一个名为TEXTIN的JTextField,当按下return键时,它应该从我的构造函数中的ActionListener调用我的rollText方法。我已经没有主意了,并且已经尝试了很长一段时间来解决它。这是来自构造函数的代码: TEXTIN.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e){ rollText(); } rollText方

我有一个名为TEXTIN的JTextField,当按下return键时,它应该从我的构造函数中的ActionListener调用我的rollText方法。我已经没有主意了,并且已经尝试了很长一段时间来解决它。这是来自构造函数的代码:

TEXTIN.addActionListener(new ActionListener() {
    public void actionPerformed(ActionEvent e){
        rollText();

    }
rollText方法应该从TEXTIN中获取文本并打印出来,一个字母一个字母地跨10个JLABLE行。我不会发布整个方法,因为我知道在给定预定义输入时它可以工作,但它的开头是:

public void rollText(ActionEvent e) throws InterruptedException{
        TEXTIN.setEditable(false); 
        String inputText = TEXTIN.getText();
...
希望有人能帮我。多谢各位

public void rollText(ActionEvent e) throws InterruptedException
您可以将此更改为:

public void rollText() throws InterruptedException
当然,您不需要方法中的ActionEvent。如果是,请更改以下内容:

public void actionPerformed(ActionEvent e)
{
    rollText();
}
致:


你可以这样做

class MyClass{
    JTextField textIn;

    class MyActionListener extends ActionListener{
        private MyClass cls;
        public MyActionListener(MyClass cls){
            this.clas = cls;
        }

        public void actionPerformed(ActionEvent e){
            cls.rollText(e);
        }
    }

    public MyClass(){
        textIn.addActionListener(new MyActionLIstener(this));
    }
}
您需要创建自己的动作监听器,并在动作监听器的构造函数中传递实例


我的机器上没有Java编译器,因此上面的代码会有一些错误,但它应该能让您大致了解如何继续。

什么是
TEXTIN
?它在屏幕上可见吗<代码>滚动文本仅在操作
TEXTIN
组件时才会被调用…这与组件类型相关…它是一个JTextField,所以有什么问题?是否未调用
rollText
?你能发布
rollText
方法吗?当然,会编辑问题。rollText没有被调用。因此,根据您的更新,您要添加侦听器的
TEXTIN
的实例似乎与屏幕上的实例不同,但您提供的代码片段有点难以猜测。。。
class MyClass{
    JTextField textIn;

    class MyActionListener extends ActionListener{
        private MyClass cls;
        public MyActionListener(MyClass cls){
            this.clas = cls;
        }

        public void actionPerformed(ActionEvent e){
            cls.rollText(e);
        }
    }

    public MyClass(){
        textIn.addActionListener(new MyActionLIstener(this));
    }
}