[英]Calling method from ActionListener
我有一个名为TEXTIN的JTextField,当按下返回键时,它应该从构造函数中的ActionListener调用我的rollText方法。 我没有主意,并且已经尝试修复了一段时间。 这是来自构造函数的代码:
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();
...
希望有人可以帮助我。 谢谢。
public void rollText(ActionEvent e) throws InterruptedException
您可以将其更改为:
public void rollText() throws InterruptedException
当然,提供该方法不需要ActionEvent。 如果这样做,则更改以下内容:
public void actionPerformed(ActionEvent e)
{
rollText();
}
至:
public void actionPerformed(ActionEvent e)
{
rollText( e );
}
你可以做这样的事情
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编译器,因此上面的代码将包含一些bug,但它应该使您大致了解如何进行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.