我有一个名为JTextField的TEXTIN,当按下return键时,它应该从我的构造函数中的ActionListener调用我的rollText方法。我已经想不出办法了,并且已经尝试了很长一段时间。这是来自构造函数的代码:
TEXTIN.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e){
rollText();
}rollText方法应该从TEXTIN中获取文本,并在10 JLabels的行上逐个字母地打印它。我不会发布整个方法,因为我知道当给定一个预定义的输入时,它是有效的,但它的开头是:
public void rollText(ActionEvent e) throws InterruptedException{
TEXTIN.setEditable(false);
String inputText = TEXTIN.getText();
...希望有人能帮我。谢谢。
发布于 2014-03-27 08:14:11
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 );
}发布于 2014-03-27 08:15:41
你可以这样做
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编译器,所以上面的代码会有一些but,但它应该会让您对如何继续进行有一个大致的了解。
https://stackoverflow.com/questions/22675526
复制相似问题