자바 Exception관련 질문이예요 ^^
-
게시물 수정 , 삭제는 로그인 필요
프로그램을 짜는데
actionperformed에는 throws exception 같은거 못쓰나요??
다른 메소드에는 다 괜찮은데 actionperformed 메소드에서는 적기만해도 에러가 뜨네요.
제가 구현하고자 하는건 이렇습니다.
일단 구성은.
super class, subclass, mainclass 이렇게 놔뉘고요
눈치 채셨다 싶이 subclass는 superclass를 상속받고 이렇게 완성된것을 mainclass에서 불러 표현하죠.
프로그램은 휴대폰을 표현하고 또 액션이벤트를 주는것인데 여기에 익셉션의 기능도 부여하라고 하네요.
superclass는 휴대폰의 공통된 특징인 12개의 버튼과 5개의 메뉴패드를 위치시키는 것이고요
subclass는 이 superclass를 받아 각각 기종마다 틀린 패드의 이름을 붙여주고 각 패드의 기능을 액션이벤트를 통해서 부여하고 있지요.
그런데 여기에서 제가 구현하고자 하는것은
통화버튼을 눌렀을시
{만일 textarea에 적힌 string arr[].length가 10이거나 혹은 11일때}
{if 액정에 숫자가 적혀있을때}
{번호 + 통화중 이란 화면 출력}
{else 액정에 숫자가 안적혀 있는 상태에서 통화버튼을 눌렀을시 발신통화목록을 보여줌}
{else testarea에 적힌 string arr[].length가 그 이외의 값일때}
{throw new Exception("번호 입력이 잘못되었습니다..");}
}
실제 코드을 보여드리겠습니다..
public void actionPerformed(ActionEvent e) throws Exception{//e는 object로 Button m[1]=new Button("");을 받습니다
Object ob = e.getSource();
actionmethod(ob);
String number[]={ta.getText()}; //String 형식의 배열로 숫자값을 받습니다
if(ob.equals(m[1])){//ob, 즉 m[1]과 일치할때 액션이 일어납니다. m[1]은 통화버튼입니다..
if (number.length==10||number.length==11){//여기에서 number는 입력된 숫자의 길이로써 number[]
if(state==0){//state는 숫자가 적힌 상황이라면 0을 그외에 메뉴창을 열거나 다른 상황일때엔 1번을 표시
state=1;
calling++;//calling은 지금까지 숫자를 누른상태에서 버튼을 눌렀을 경우 누적된 발신 횟수입니다.
ta.setText("");
ta.setText("\n\n\n수신자\n\n\n"+number);
}else{
ta.setText("");
ta.setText("통화목록\n(발신)\n"+calling+"건");
}
}else{
throw new Exception("번호를 입력하지 않으셨습니다..");
}
이게 안되는건가요??
진짜진짜 미쳐버릴것만 같아요 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
만일 actionperformed에 Exception을 넣는게 불가능하다면
대처방안은 뭐가 있을까요??
--------------------------------------------
superclass에서 메소드는.
1. 0~9번까지와 *, #, 0번 버튼을 만드는 메소드
2. 5가지의 메뉴버튼을 만드는 메소드
3. 0~9번까지와 *, #, 0번 버튼에 액션을 주는 메소드
subclass에서 메소드는
1. 메뉴버튼에 각각 액션을 주는 메소드
2. 창의 크기와 위치를 정해주며 visible시켜주는 메소드
mainclass에서 메소드는
1. 원하는 subclass를 선택하여 객체를 만들고 이를 부르는 메소드
프로그램을 짜는데
actionperformed에는 throws exception 같은거 못쓰나요??
다른 메소드에는 다 괜찮은데 actionperformed 메소드에서는 적기만해도 에러가 뜨네요.
제가 구현하고자 하는건 이렇습니다.
일단 구성은.
super class, subclass, mainclass 이렇게 놔뉘고요
눈치 채셨다 싶이 subclass는 superclass를 상속받고 이렇게 완성된것을 mainclass에서 불러 표현하죠.
프로그램은 휴대폰을 표현하고 또 액션이벤트를 주는것인데 여기에 익셉션의 기능도 부여하라고 하네요.
superclass는 휴대폰의 공통된 특징인 12개의 버튼과 5개의 메뉴패드를 위치시키는 것이고요
subclass는 이 superclass를 받아 각각 기종마다 틀린 패드의 이름을 붙여주고 각 패드의 기능을 액션이벤트를 통해서 부여하고 있지요.
그런데 여기에서 제가 구현하고자 하는것은
통화버튼을 눌렀을시
{만일 textarea에 적힌 string arr[].length가 10이거나 혹은 11일때}
{if 액정에 숫자가 적혀있을때}
{번호 + 통화중 이란 화면 출력}
{else 액정에 숫자가 안적혀 있는 상태에서 통화버튼을 눌렀을시 발신통화목록을 보여줌}
{else testarea에 적힌 string arr[].length가 그 이외의 값일때}
{throw new Exception("번호 입력이 잘못되었습니다..");}
}
실제 코드을 보여드리겠습니다..
public void actionPerformed(ActionEvent e) throws Exception{//e는 object로 Button m[1]=new Button("");을 받습니다
Object ob = e.getSource();
actionmethod(ob);
String number[]={ta.getText()}; //String 형식의 배열로 숫자값을 받습니다
if(ob.equals(m[1])){//ob, 즉 m[1]과 일치할때 액션이 일어납니다. m[1]은 통화버튼입니다..
if (number.length==10||number.length==11){//여기에서 number는 입력된 숫자의 길이로써 number[]
if(state==0){//state는 숫자가 적힌 상황이라면 0을 그외에 메뉴창을 열거나 다른 상황일때엔 1번을 표시
state=1;
calling++;//calling은 지금까지 숫자를 누른상태에서 버튼을 눌렀을 경우 누적된 발신 횟수입니다.
ta.setText("");
ta.setText("\n\n\n수신자\n\n\n"+number);
}else{
ta.setText("");
ta.setText("통화목록\n(발신)\n"+calling+"건");
}
}else{
throw new Exception("번호를 입력하지 않으셨습니다..");
}
이게 안되는건가요??
진짜진짜 미쳐버릴것만 같아요 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
만일 actionperformed에 Exception을 넣는게 불가능하다면
대처방안은 뭐가 있을까요??
--------------------------------------------
superclass에서 메소드는.
1. 0~9번까지와 *, #, 0번 버튼을 만드는 메소드
2. 5가지의 메뉴버튼을 만드는 메소드
3. 0~9번까지와 *, #, 0번 버튼에 액션을 주는 메소드
subclass에서 메소드는
1. 메뉴버튼에 각각 액션을 주는 메소드
2. 창의 크기와 위치를 정해주며 visible시켜주는 메소드
mainclass에서 메소드는
1. 원하는 subclass를 선택하여 객체를 만들고 이를 부르는 메소드