자바 Exception관련 질문이예요 ^^

자바 Exception관련 질문이예요 ^^

작성일 2007.11.20댓글 1건
    게시물 수정 , 삭제는 로그인 필요

프로그램을 짜는데

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를 선택하여 객체를 만들고 이를 부르는 메소드



profile_image 익명 작성일 -

actionPerformed는 서식을 변경 할 수 없는 메소드입니다.

원형에 추가로 throws Exception을 추가하시면 에러가 납니다.

 

actionPerformed가 예외를 던지지 않는 가장 큰 이유는 메소드 내에서 처리를 완결하라는 뜻이 담겨있습니다.

올리신 예제에는  "번호를 입력하지 않으셨습니다.."라는 멧세지를 포함한 예외를 외부로 보내고 싶으신 듯

하네요. 그런 경우에는 메세지를 보내지 말고 actionPerformed내에서 직접 메세지를 표시하도록 하세요.

 

메세지 표시용으로 JDialog클래스나 계승클래스를 사용해 보시면 그리 어렵지 않으리라 봅니다.

자바 Exception관련 질문이예요 ^^

... throws exception 같은거 못쓰나요?? 다른... length가 그 이외의 값일때} {throw new Exception("번호... public void actionPerformed(ActionEvent e) throws Exception{//e는 object로...

자바 Exception 관련 질문입니다.

... 다름이 아니고 자바소스에서 계속 에러가... close(); } catch(Exception exception9) { } return new String(baos.toByteArray()); } 일단 질문하신 구문...

자바 exception 관련 질문입니다.

... exception오류가 생기면 오류 부분을... close(); } catch (FileNotFoundException exception )... "); } catch (IOException exception ) { System.out....

사용자 정의 Exception 관련 질문..

... 사용자정의 exception 클래스를 작성하였습니다. 2. if(자바 로직) { throw new... 질문이 예제가 명확하게 없이 너무 추상적이라... 제가 질문을 제대로 이해를...

자바 Exception은 어떤것들이있나요?

... 헉~좀 애매한 질문이군요. Exception을 상속받는 하위 클래스들 보시면... DB 연동관련해서는 SQLException... 그리고 개발자가 위의 Exception...

자바 관련 질문드립니다.

... 알았는데 Exception in thread "main" java.lang.... "Exception in thread "main" java.lang.... throws Exception { File file = new File(path); if(!file.exists()) { throw...

자바 관련 질문

... 만일 문자를 입력하면 프로그램이 Exception을 일으킬 겁니다만 이건 뭐 그냥 넘어간다 치구요. 대충 아래처럼 짜면 의도랑...