PGR21.com
이전 질문 게시판은 새 글 쓰기를 막았습니다. [질문 게시판]을 이용바랍니다.
Date 2010/04/30 01:48:05
Name 녹차한잔의여
Subject 자바 GUI 다른 클래스에서의 출력에 대한 질문입니다.
먼저 아이템의 추가는
// BAdd 프레임 클래스
private void BAddConfirmActionPerformed(java.awt.event.ActionEvent evt) {
        Essay es = new Essay();
        es.setName(BAddNameText.getText());
        es.setAuthor(BAddAuthorText.getText());
        es.setPublisher(BAddPublisherText.getText());
        es.setISBN(BAddISBNText.getText());
        es.add(es);
        setVisible(false);
    }

public class Essay extends BooksManagement {
        ArrayList<Essay> essay = new ArrayList<Essay>();
        public Essay() {}

                 public void add(Essay es) {
                          essay.add(es);
                  }
}
요런식으로 해주었습니다.

BAdd프레임클래스에서 입력후 확인버튼을 누르면 Essay클래스로 옮겨와 arraylist에 저장되는 구조입니다.


그리고 추가한 아이템을 출력하고자 합니다.
public class Essay extends BooksManagement {
    public void show() {
        Essay es;
        Iterator it = essay.iterator();
             while(it.hasNext()) {
                       es = (Essay)it.next();
                       // .....
            }
    }
}

그럼 위에 아이템 추가와 반대로 arraylist에 있는 것을 BShow프레임 클래스로 가져가서 화면에 나타내야합니다...

그런데 이게 잘 모르겠습니다....
  
  private void BShowConfirmActionPerformed(java.awt.event.ActionEvent evt) {
        Essay es = new Essay();
        es.show();
        setBSName(es.getName());
        setBSAuthor(es.getAuthor());
        setBSPublisher(es.getPublisher());
        setBSISBN(es.getISBN());
        BSNTextArea.append(getBSName()+"\n");              // TextArea에 출력
        BSATextArea.append(getBSAuthor()+"\n");
        BSPTextArea.append(getBSPublisher()+"\n");
        BSITextArea.append(getBSISBN()+"\n");
}
요런식으로 해버리면 null값이 출력됩니다.(즉, 변수에 arraylist값을 받아오지 못합니다.)


Essay클래스의 arraylist에 있는 값을 BShow프레임클래스로 옮겨와 TextArea에 출력되도록 하려면

어떻게 해야할까요?(나름 매우 여러가지 시도를 해보았지만 잘 안되서...ㅠ)


통합규정 1.3 이용안내 인용

"Pgr은 '명문화된 삭제규정'이 반드시 필요하지 않은 분을 환영합니다.
법 없이도 사는 사람, 남에게 상처를 주지 않으면서 같이 이야기 나눌 수 있는 분이면 좋겠습니다."
10/04/30 01:55
수정 아이콘
예전에 분명 똑같은 질문이 올라온걸로 알고 있습니다.

문제점까지 그대로군요.

당연히 null값일 수 밖에 없습니다. Essay내에 ArrayList를 품고 있으니

es는 new로 선언해서 만든 새로운 객첸데 그 안에 데이터가 들어 있을리가 없죠

객체 이름에 클래스 이름에 심지어는 ArrayList가 안에 있는것 까지...

전에 질문 하신분 아닌가요?
10/04/30 01:56
수정 아이콘
혹시나 했는데 그때 그분 맞네요-_-
녹차한잔의여
10/04/30 02:02
수정 아이콘
음...비슷한 상황이긴 한데요....
전에는 콘솔이고 지금은 GUI로 바꾸는중이에요..ㅠ;;
저도 null이 들어가는 이유는 알고 있는데요....
근데 안하고 하는 방법을 모르겠습니당...;;
BShow 쪽에서 Essay es만 하고 new를 하지 않으면 에러가 떠서요;;
안하는 방법이 있나요... 아님 접근 방법 자체가 틀린건가............

Arraylist가 그럼 어디에 위치해야하나요? BShow쪽에 있다면 다른 BAdd 같은 것 할 때 사용을 또 못하지 않나요;;;
또한 클래스마다 Arraylist를 선언한다면 그건 각자 다른 arraylist가 되는거 아닌가요?
10/04/30 02:08
수정 아이콘
그렇군요

저도 이것때문에 고민도 많이 했지만 결국 후배가 좋은 방법을 알려주더군요.

만약 폼과 폼사이를 오가야 한다면 반드시 메인 폼 클래스에서

ArrayList<Essay> essay = new ArrayList();로 생성해 주시고

특정폼에 데이터를 전달해야 한다면 ArrayList를 사용해야 하는 모든 폼에서는 ArrayList를 선언해 주셔야 합니다. 이때 값을 넘길때는

BShowConfirmActionPerformed BS = new BShowConfirmActionPerformed();

BS.setValue(essay);

BS.show();

이런 식으로 하면 BShowConfirmActionPerformed 폼의 객체를 생성하면서 내부에서 사용할 ArrayList값에 essay라는 ArrayList를 던져주고 폼을 화면에 띄워줍니다.

단 값을 받을 함수 역시 폼 클래스 내에 선언해서 쓰셔야 합니다.

C#에서는 자식폼에다가 저런식으로 데이터를 못던져서 상당히 불편한 점이 많은데 다른건 다 제치더라도 Java에서는 이런 점이 참 편하더군요. 폼 사이에 데이터 주고 받기가 말이죠.
녹차한잔의여
10/04/30 02:13
수정 아이콘
답변 감사합니다^^
해보겠습니다....
자바를 배우면서.... 쉽다고 하는데 왜 전 c,c++보다 어려운건지...=_=;;;;
목록 삭게로! 맨위로
번호 제목 이름 날짜 조회
80487 무선 마우스&키보드 반응 어떤가요? [1] 낼름낼름1934 10/04/30 1934
80486 신림동 고시촌에 대한 전반적인 질문입니다 [6] 붉은미래3212 10/04/30 3212
80485 마산, 창원에서 야구 배워 보신분 있으신가요? [1] 너만을사랑해1953 10/04/30 1953
80484 티스토리 초대장 부탁드립니다. [7] 스치듯안녕1896 10/04/30 1896
80483 K5 50대 부모님이 타시기에 어떤가요. [8] Joon3399 10/04/30 3399
80482 배 터지게 먹기 위한 동호회 없을까요? [8] 귀여운호랑이2260 10/04/30 2260
80481 [프야매] 질문입니다 [3] TheGame1814 10/04/30 1814
80480 [나쁜선행3]저도.....cgv티켓 한장 남아서...[완료] [13] karoo2084 10/04/30 2084
80478 스타2 북미서버 하시는분 안계신가요? 탈퇴한 회원2172 10/04/30 2172
80475 연애상담 일곱번째. [12] sad_tears2560 10/04/30 2560
80474 유로화 환율 어디까지 갈까요? [4] 베르테르&게츠2248 10/04/30 2248
80471 (급함) 스타 색이 깨져요...ㅠㅠ(스샷첨부) [8] 소디2563 10/04/30 2563
80470 자바 GUI 다른 클래스에서의 출력에 대한 질문입니다. [7] 녹차한잔의여5396 10/04/30 5396
80469 이 사진속 인물이 누구죠??(사진첨부, 흑인아티스트) [3] MRSR2095 10/04/30 2095
80468 어떤 여행주제로 유럽여행을 다녀오셨나요? or 가실건가요?? [2] 나를찾아서2903 10/04/30 2903
80467 토익스피킹 공부해보신 분들께 질문있습니다 [3] 곽인우2577 10/04/30 2577
80466 손톱이 못생긴 건 답이 없나요? [7] EzMura2863 10/04/30 2863
80463 바이러스인지 걱정이 됩니다! 도와주세요. [2] 생경도도2135 10/04/30 2135
80460 스테이시스 걸린 유닛으로 입구가 막힌 경우 푸는 방법에 관한 질문입니다. [5] 교관2096 10/04/30 2096
80459 갑자기 궁금해져서 올립니다 크크; [15] ??1865 10/04/30 1865
80458 영웅문 보신분들께 질문 있습니다~~ [8] 티나한 핸드레2965 10/04/29 2965
80457 핸드폰바꾸려하는데 에이징에대해... [2] Yuki2273 10/04/29 2273
80456 예쁜 성당 추천 부탁드립니다 [10] 캐쥬얼가이3259 10/04/29 3259
목록 이전 다음
댓글

+ : 최근 6시간내에 달린 댓글
+ : 최근 12시간내에 달린 댓글
맨 위로