2014-03-26 35 views
0

我有一个名为TEXTIN的JTextField,当按下回车键时,它应该从构造函数中的ActionListener调用我的rollText方法。我没有想法,并试图修复它很长一段时间。这是从构造函数的代码:来自ActionListener的调用方法

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

    } 

的rollText方法应该从TEXTIN采取文字和打印,信信翻过10周的JLabel一行。我不会发布整个方法,因为我知道它赋予了预定义的输入,但它的开始是当:

public void rollText(ActionEvent e) throws InterruptedException{ 
     TEXTIN.setEditable(false); 
     String inputText = TEXTIN.getText(); 
... 

希望有人能帮助我。谢谢。

+0

'TEXTIN'是什么?它在屏幕上可见吗? 'rollText'只会在'TEXTIN'组件动作的时候被调用......这是组件类型的上下文... – MadProgrammer

+0

它的JTextField,抱歉 – ChrisPBacon

+0

问题是什么?是否不调用'rollText'?你可以发布'rollText'方法吗? – Tips48

回答

0
public void rollText(ActionEvent e) throws InterruptedException 

您可以将其更改为:

public void rollText() throws InterruptedException 

提供了当然你不需要在方法的动作事件。如果你这样做,然后更改如下:

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

要:

public void actionPerformed(ActionEvent e) 
{ 
    rollText(e); 
} 
0

你可以做这样的事情

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编译器,所以上面的代码会有一些错误,但它应该给你一个关于如何继续的一般想法。