버튼 누를 떄 실행 오류가 떠서 질문드립니다.
조회수 569회
package studyfree;
import java.awt.Button;
import java.awt.Frame;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
class Gugudan extends Frame implements WindowListener, ActionListener{
@Override
public void actionPerformed(ActionEvent arg0) {
Object c = arg0.getSource();
for (int a=0; a<9; a++) {
if (c == btns[a]) {
for(int b=1;b<10;b++) {
lb1.setText(btns[a]+"*"+b); //이부분에서 오류가 뜹니다.
}
}
}
}
@Override
public void windowActivated(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowClosed(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowClosing(WindowEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
@Override
public void windowDeactivated(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowDeiconified(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowIconified(WindowEvent e) {
// TODO Auto-generated method stub
}
@Override
public void windowOpened(WindowEvent e) {
// TODO Auto-generated method stub
}
Button [] btns;
Panel pa1,pa2;
Label lb1;
Gugudan(String str){
super(str);
pa1 = new Panel();
pa1.setLayout(new GridLayout(3,3));
pa1.setSize(500, 250);
pa2 = new Panel();
pa2.setSize(500, 250);
Label lb1 = new Label(" 원하는 단을 선택하세요 ");
btns = new Button[11];
for (int a=0;a<9;a++) {
btns[a] = new Button(a+1+"단"); // 버튼에 숫자로 버튼명 넣기
btns[a].addActionListener(this); // 각숫자 버튼 동작하기
pa1.add(btns[a]); // 패널1에 만든 버튼들 추가
}
add("South",pa1); // 아래쪽에 패널1 생성
add("North",pa2); // 위쪽에 패널2 생성
pa2.add(lb1);
this.addWindowListener(this); //window 닫기
this.setSize(500, 500); // window 사이즈
this.setVisible(true); // window 보여주기
}
}
public class Test1 {
public static void main(String[] args) {
Gugudan gu = new Gugudan("구구단출력입니다.");
}
}
-
(•́ ✖ •̀)
알 수 없는 사용자 - 〉
1 답변
-
오류가 발생하면 오류메세지도 함께 등록해주시고 프로그램 설명도 함께 제공해주세요. 그래야 해당 내용을 보는 입장에서 빨리 파악할 수 있고 도움되는 무엇인가도 더 제공할 수 있겠죠.
Label lb1 = new Label(" 원하는 단을 선택하세요 ");
상기라인을 하기와 같이 수정하세요.
lb1 = new Label(" 원하는 단을 선택하세요 ");
그리고 Label 위젯을 잘못이해하고 있는 것 같습니다. 오류는 해결이 되겠지만 아마도 원하는 대로 구구단이 표시되지는 않을 듯 하네요.
댓글 입력