자바 이벤트 질문이요
가욋길
밑에 제가 자세히 설명을 안해서
다시 질문을 올리겠습니다.
JFrame buttonFrame = new JFrame();
class getStringListener implements ActionListener {
public void actionPerformed(ActionEvent event) {
str = ((Button) event.getSource()).getLabel();
////////////////////////////////////////////
}
}
int objectNameSize = objectName.size();
buttonFrame.setLayout(new GridLayout(objectNameSize, 1));
for (int i=0; iobjectNameSize; i++)
{
Button b = new Button(objectName.get(i).getSubInfo());
b.addActionListener(new getStringListener());
buttonFrame.add(b);
}
buttonFrame.pack();
buttonFrame.setVisible(true);
// 이 부분에서 다음 코드로 넘어가지 않고 버튼 클릭 이벤트를 기다려야 합니다.
-
루나
아.. 이거 말고 joptionpane.showoptiondialog() 를 사용하니까 간단히 해결되는군요..
-
푸른잎
ActionListener는 버튼을 클릭했을때 actionPerfomed(..)메소드를 호출해 주게 되어 있습니다.
그렇기 때문에 저렇게 쓴것 자체가 잘못 되었습니다.
우선 책을 보고 swing을 공부하시고, 그 다음에 예제를 보시는게 좋을듯 하네요. -
파랑새
버튼이 선택되면 버튼의 이름을 str에 너어주고 str로 뭔가 하려고 하는데 혹시 다른 방법이 있나요?
-
가시
프레임이 화면에 생성되면 프레임 내의 버튼이 클릭되서 버튼이벤트핸들러가 실행되어야 합니다. 그런데 지금은 프레임을 화면에 생성하자 마자 바로 다음 코드를 수행하기 때문에 제대로 동작하지 않습니다.ㅜㅜ