2014-01-12 6 views
0

netbeans에 의해 자동으로 프레임에 Jbutton이 추가되었습니다. 이 ActionListener를 버튼에 추가하고 싶습니다.Netbeans에 액션 리스너 추가하기

public class MyActionListener implements ActionListener { 
    @Override 
public void actionPerformed(ActionEvent e) { 
     JOptionPane.showMessageDialog(null,"hello"); 
} 

내 문제는이 코드를 나는 "비 정적 변수 jButton2가 정적 문맥에서 참조 할 수 없습니다"얻을 버튼에 리스너를 추가하기 위해

jButton2.addActionListener(MyActionListener); 

메시지를 추가 할 때 . jButton2는 netbeans에 의해 정적이 아닌 것으로 자동 생성되므로 어떻게이 문제를 극복하고 원하는대로 actionlistener를 설정할 수 있습니까?

답변

0

오류는 인스턴스화 된 적이없는 개체를 보내는 중입니다. 임의의 컴퍼넌트에 액션 청취자를 추가하는 경우, ActionListener 인터페이스를 구현하는 객체를 송신 할 필요가 있습니다. 객체에 리스너의 인스턴스를 추가하는 것과 같습니다. 이 시도 :

jButton2.addActionListener(new MyActionListener()); 

당신이 다음 할 것입니다 익명 구현을 사용하려면 : 리스너를 추가 할 수

jButton2.addActionListener(new ActionListener(){ 
    public void actionPerformed(ActionEvent e){ 
    //some code 
    } 
}); 
+0

감사합니다. jButton2.addActionListener (새로운 MyActionListener()); 그것을 해결했다. – geo

0

쉬운 방법은 바로 디자인 뷰에서 버튼을 마우스 오른쪽 버튼으로 클릭입니다 ,

Events -> Action -> actionPerformed 

를 선택하고 코드를 자동으로 생성

pubic void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { 
    // put what you want to happen, here 
} 
당신을위한 것입니다