2012-04-05 5 views
0

지금 저는 두 개의 JButton이 관련된 프로그램을 작성하고 있습니다. 이러한 JButton를 포함한 클래스는 ActionListener를 구현해, ActionPerformed (ActionEvent e) 메소드를 포함합니다. 어쨌든이 JButton 둘 다 동일한 ActionPerformed 메소드 내에서 고유 한 조치를 수행합니까?Java에서 ActionListener로 여러 작업을 수행하려면 어떻게해야합니까?

+0

네,하지만 각 컨트롤에 리스너 (또는'Action')를 추가하는 것이 더 좋습니다. 자세한 내용은 [작업 사용 방법] (http://docs.oracle.com/javase/tutorial/uiswing/misc/action.html)을 참조하십시오. –

답변

3

물론, 당신은 다음과 같은 방법으로 구별 할 수 있습니다

public void actionPerformed(ActionEvent e) { 
    Object src = e.getSource(); 

    if (src == bt1) { 
    // do actions for bt1; 
    } 
    else if (src == b2) { 
    // do action for bt2; 
    } 
} 
0

당신은 항상 e.getSource()와의 ActionEvent의 소스를 얻을 수 있습니다. 그런 다음 해당 소스를 버튼과 비교하고 동등한 특정 작업을 수행하십시오.

0

확실히. ActionEvent 개체의 source 개체를 비교하여 해당 이벤트가 발생한 버튼을 확인한 다음 (즉, getSource()에 전화) 그에 따라 행동하십시오.

관련 문제