[질문] Connection conn 관련 질문이있습니다ㅠㅠ
한지잠
음.. Connection conn을 main에서
conn = DriverManager.getConnection(.....);
이런식으로 해주어야 하나요?? 다른 곳에서 하면 안되나요??
다른곳에서 해봤는데nonstatic 어쩌구 저쩌구.. 하면서 에러 뜨던데요....
문제는 제가 회원관련 프로그램을 숙제때문에 짜고 있는데요.. 그런데
메뉴를 클릭했을때 이벤트가 발생되자나요..
그럼
private Menu memberShipMenu()
{
menu = new Menu(Member);
//---------------------------------------------------------------------------------------------------------------------------------
//회원가입을 클릭했을 때 생기는 이벤트 처리를 위하여 MenuItem을 이용해서 Menu에 MenuItem추가
//menu.add(회원 가입);
//MemberShip관련 변수들은 앞에 mb를 붙이고 MenuItem을 붙인다.
mbJoinMenuItem = new MenuItem(Join);
mbJoinMenuItem.addActionListener( this );
menu.add( mbJoinMenuItem );
//---------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------
// 회원 탈퇴에 관한 것
//menu.add(회원 탈퇴);
mbSecessionMenuItem = new MenuItem(Session);
mbSecessionMenuItem.addActionListener( this );
menu.add( mbSecessionMenuItem );
//---------------------------------------------------------------------------------------------------------------------------------
//분리자를 넣는다.
menu.addSeparator();
//---------------------------------------------------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------------------------------------------------
//menu.add(프로그램종료);
mbExitMenuItem = new MenuItem(Exit);
mbExitMenuItem.addActionListener( this );
menu.add( mbExitMenuItem );
//---------------------------------------------------------------------------------------------------------------------------------
return menu;
}
이런식으로 해서요 ( 윗부분은 여기 강좌를 보구 코딩한것입니다^^ )
메뉴를 클릭했을때 이벤트를 해당 메뉴가 listener해서요...
그 이벤트 처리를
public void actionPerformed( ActionEvent e )
{
// 회원관리에 관한 클래스 생성
if( e.getSource() == mbJoinMenuItem )
{
MemberJoin join = new MemberJoin( );
join.MakeWindow();
}
else if( e.getSource() == mbSecessionMenuItem )
{
MemberSecession session = new MemberSecession();
session.MakeWindow();
}
else if( e.getSource() == mbExitMenuItem )
{
MemberExit exit = new MemberExit();
exit.MakeWindow();
}
// 예약 메뉴에 관한 객체 생성
else if( e.getSource() == confirmCondoMenuItem )
{
ConfirmationCondo condo = new ConfirmationCondo();
condo.MakeWindow();
}
else if( e.getSource() == confirmHotelMenuItem )
{
ConfirmationHotel hotel = new ConfirmationHotel();
hotel.MakeWindow();
}
else if( e.getSource() == confirmMotelMenuItem )
{
ConfirmationMotel motel = new ConfirmationMotel();
motel.MakeWindow();
}
else if( e.getSource() == confirmPensionMenuItem )
{
ConfirmationPension pension = new ConfirmationPension();
pension.MakeWindow();
}
else if( e.getSource() == confirmViewMenuItem )
{
ConfirmationView view = new ConfirmationView();
view.MakeWindow();
}
// Help메뉴에 관한 객체 생성
else if( e.getSource() == helpInformationMenuItem )
{
HelpInformation help = new HelpInformation();
help.MakeWindow();
}
}
이런식으로 처리 했습니다.
MakeWindow()함수는 각 클래스에 있는 메소드 인데요 각 메뉴에 해당하는 dialog를 생성합니다.^^;;
그런데 문제는 각 클래스를 DB랑 연결을 시켜야하는데요.. 제가 듣기로는 Connection conn = DriverManager.getConnection(....)해서 이 conn객체를 각 클래스에 넘겨주면 된다고 하던데요 ㅠㅠ 넘길 방법이 없더라구요 ㅠㅠ
actionPeformed메소드를 public void actionPerformed( ActionEvent e, Connection conn )일케 하면 안되는 것은 알지만 혹시나 해서 해봤는데요 ㅎㅎ 방법이 없더라구요 ㅠㅠ
---------- Compile ----------
DBproject.java:39: DBproject is not abstract and does not override abstract method actionPerformed(java.awt.event.ActionEvent) in java.awt.event.ActionListener
public class DBproject extends Frame implements ActionListener
^
1 error
출력 완료 (0초 경과) - 정상 종료ㅠㅠ
해결 방법 좀 알려주세요~^^;;
-
황소눈 2026-06-21
답변 감사드립니다^^
-
꽃가람 2026-06-21
아까는 시간이 없어서 못해봤는데 Connection객체를 main에서 선언한게 아니라 field로 설정해주니까 되더라구요^^;;; 바보같이 Connection객체를 메인에서 이용하다보니 에러가 생기더군요.. 그래서 안되는 줄 알았는데 생성자 함수에서 이용하니 되더라구요 ㅠㅠ 기초가 부족해서 이런 실수를...
-
호습다 2026-06-21
음.. 제가 말한대로 그냥 넘기면 안되던가여??? 제가 지금 잠깐 심심해서.. 스윙으로 함 문자열 넘겨보았는데. 이런건 넘어가던데... Connection 이거는 안넘어 갈려나......
-
다이 2026-06-21
음. 그래서.. 디비명이나.. 아이피. 포트 변경되면.. 프로퍼티 파일만 수정하면.. 되게끔 해놨어여.. 저는^^
-
처녀자리 2026-06-21
저도 DB연결하고. 해제하는 클래스하고.. url id pw port 이런거 저장한 프로퍼티 파일로 db 연결하거든여....
import만 시켜서.. 생성하고. 연결하면 되거든여..^^ -
꽃큰 2026-06-21
아.. 그리고요... Application이랑 DB랑만 연결시켜주는 클래스를 따로 만들기도 하던데 그렇게 해도 연결이 되나요?? 그 클래스의 객체를 생성해가지고 연결시키는 듯 보였는데요 ^^;;; Java에 익숙치가 않아서요^^;;
-
하예진 2026-06-21
근데 책에서는 멤버변수로 Connection을 선언했는데 제가 하면 안된더라구요 ㅠㅠ 뭐때문에 안되는거져?? ㅠㅠ
-
찬슬 2026-06-21
그런데요 문제가요.... MakeWindow의 파라미터 값으로 넘겨주려면요 저 actinoPerformed메소드를 호출해야하자나요.. 그런데 actionPerformed메소드는 이벤트가 발생될때 자동으로 호출되는데 어떻게 넘겨주죠???
Connection을 main에서 선언했는데요... 클래스 멤버변수로 선언하니까 위에처럼 에러뜨구요 ㅠㅠ -
파라미 2026-06-21
흠... 제 생각도 윗분과 같네요...
그냥 커넥션을 넘겨버려주세요 -_- -
슬아라 2026-06-21
dialog 생성할때 넘겨주면 안되나여???
***.MakeWindow(conn); 이런식으로.. 음.. 안될려나?? 메소드에서는
public void MakeWindow(Connection conn){
..................
}
이런식으로... 그냥.. 함.. 달아봤어여..^^
| 번호 | 제 목 | 글쓴이 | 날짜 |
|---|---|---|---|
| 2752024 | 소숫점 뺄셈 !! ㅠㅜ | 초롬 | 2026-10-20 |
| 2751970 | 자바 게임 만들려는데 부탁드립니다 (1) | 라온제나 | 2026-10-19 |
| 2751908 | 자바스크립트 처리속도를 체크할 수 있는 방법 있나요? (1) | 테이 | 2026-10-19 |
| 2751822 | 그누보드 아이프레임으로 구현했는데 제목 클릭해서 들어가면 푸터가 동동...떠다녀요 | 내꺼하자 | 2026-10-18 |
| 2751790 | 자바 그래픽 관련을 공부하고 싶은데요.. 어디 좋은 사이트나 책 없을까요?? (1) | 큰재 | 2026-10-18 |
| 2751733 | CTF가머죠? (5) | 두동 | 2026-10-17 |
| 2751709 | 배열부분 궁금한 부분이있습니다. | 딸기우유 | 2026-10-17 |
| 2751677 | 포인터 책을 보다가,,, (2) | 동백 | 2026-10-17 |
| 2751648 | 익스플로 버전에 따라서 생기는 공백.. (1) | 모아 | 2026-10-17 |
| 2751623 | DEL 태그의에서 선굵기 및 컬러지정이 가능한가 해서요~ (4) | 비치나 | 2026-10-16 |
| 2751573 | 테마 업로드 에러.. (1) | 꽃 | 2026-10-16 |
| 2751548 | 수학? 물리?? (3) | 찬늘 | 2026-10-16 |
| 2751461 | 상단네비 fixed ie6 핵 해결방안이 있을까요? | 맑다 | 2026-10-15 |
| 2751436 | 레이아웃을 잡고 코딩을 하는데 드림위버에서의 결과와 IE에서 결과가 다르게 나오네요. (3) | 키클 | 2026-10-15 |
| 2751403 | 형들좀도와주세요string compression (1) | 알렉산더 | 2026-10-14 |
| 2751349 | 링크 다운로드하기 | 팬지 | 2026-10-14 |
| 2751295 | c++한번도 손않댄 사람이... | 날위해 | 2026-10-13 |
| 2751267 | 플래시8 사용에서 플레이어 만들었는데요 (1) | 블1랙캣 | 2026-10-13 |
| 2751182 | 회원가입 | 파랑새 | 2026-10-12 |
| 2751152 | 소셜 플러그인 문제입니다. | 얀 | 2026-10-12 |
