2011-04-10 4 views
1

누구든지이 코드에서 청취자의 문제점을 설명 할 수 있습니까?Java의 청취자

방금 ​​청취자가 어떻게 작동하는지 배우기 시작했으며 ChangeListener의 작동 방식을 실제로 알지 못합니다.

import java.awt.event.*; 

class Button2 implements ChangeListener { //what's whong here 

    public void changePerformed(ChangeEvent s) { //and here? 
    System.out.println("Pressed the button " + s.getChangeCommand()); 
    } 
} 

두 개의 버튼을 추가합니다.

..... 
but1.addChangeListener(new Button2()); 
but2.addChangeListener(new Button2()); 
..... 
+0

무엇이 오류입니까? – Adam

+2

질문에 쉽게 답할 수 있도록 이미 알고있는 것을 지정해야합니다 (예 : 컴파일러가 오류 메시지를 표시하고 정확한 오류 메시지를 표시하거나 런타임에 아무 것도 나타나지 않거나 선생님이 작동한다고해도 그것이 잘못되었다고 말했습니다. –

+0

어떤 ChangeListener/ChangeEvent를 가져 왔습니까? 나는 java.awt.event 패키지를 가지고 있지 않다. – Howard

답변

5

ChangeListener 년대 필요한 방법 stateChanged하지 changePerformed이다.

편집 : 또한 위의 설명에서 지적한대로 ChangeListenerjavax.swing.event이 아니고 java.awt.event이 아닙니다. zerocrats가 ChangeListener의 방법은, 참으로 stateChanged()하고 또한하지 changePerformed()

쓴 것처럼

+0

changePerformed를 stateChanged로 변경하면 오류가 사라지지 않습니다. – Bob

+1

@ user693567 어떤 오류가 있습니까? 보고있는 반칙을 설명해주십시오. – Howard

+0

이클립스는 오류가 System.out.println에 있다고 씁니다 ("버튼을 눌렀습니다"+ s.getChangeCommand()); line – Bob

1

CahngeEvent이 방법은 getChangeCommand()라고 않았습니다. 평범한 JButton을 사용하고 있고 그냥 ebuttin을 클릭하고 싶다면 좋은 오래된 ActionListener을 사용하지 않으시겠습니까?

import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
public class MyButtonListener implements ActionListener { 
    public void actionPerformed(ActionEvent e) { 
     System.out.println("Pressed the button " + e.getActionCommand()); 
    } 
} 
+0

는 changelistener의 작동 방식을 원했습니다) – Bob