2014-03-26 3 views
0

Return 키가 눌러지면 TEXTIN이라는 JTextField가 있습니다. 내 생성자에있는 ActionListener에서 내 rollText 메소드를 호출해야합니다. 나는 아이디어가없고 꽤 오랫동안 그것을 고치려고 노력하고있다. rollText 방법은 10 JLabels의 행을 건너 문자로하여 textIn에서 텍스트를 가지고 그것을 인쇄, 편지해야ActionListener에서 호출하는 메소드

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

    } 

:이 생성자의 코드입니다.

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

이 희망 누군가가 나를 도울 수 있습니다 : 나는 미리 정의 된 입력을 제공하지만, 그것의 시작이 때 작동 알고 있기 때문에 전체 방법을 게시 실 거예요. 고맙습니다. 물론이 방법에서의 ActionEvent가 필요하지 않습니다 제공

public void rollText() throws InterruptedException 

:

+0

'TEXTIN '이란 무엇입니까? 화면에 표시됩니까? 'rollText'는'TEXTIN' 컴포넌트가 작동 될 때만 호출됩니다 ... 컴포넌트 타입에 문맥 적입니다 ... – MadProgrammer

+0

그것의 JTextField, 죄송합니다 – ChrisPBacon

+0

무엇이 문제입니까? 'rollText'가 호출되지 않았습니까? 'rollText' 메소드를 게시 할 수 있습니까? – Tips48

답변

0
public void rollText(ActionEvent e) 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 컴파일러가 없기 때문에 위의 코드에는 몇 가지 버그가 있지만 진행 방법에 대한 일반적인 아이디어를 제공해야합니다.

관련 문제