2022. 10. 6. 08:43ㆍDev.Program/Java & Spring
======== JAVA0428 → Ex.java
< JTable >
import javax.swing.JFrame; public class Ex extends JFrame { public Ex() { showFrame(); } public void showFrame() { setBounds(600, 400, 300, 200); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } public static void main(String[] args) { new Ex(); } } |
- 기본 틀 만들기
JTable 은 기본적으로 JScrollPane 얹어서 씀! (좌우 위아래 스크롤 바 사용)
< JTable 에 데이터를 추가하는 방법 >
1. DefaultTableModel 객체를 생성하여 배열 형태로 데이터 추가
⇒ 1차원 배열 : 열 제목, 2차원 배열 : 각 데이터(1개 행 = 1차원 배열)
2. Vector 객체를 사용하여 제목과 데이터를 설정하는 방법
2-1. 제목과 데이터가 모두 한 번에 추가되는 경우
2-2. 제목열만 먼저 추가 후, 1개 레코드의 Vector 객체를 별도로 추가하는 방법
JPanel 을 center 에 넣고 absolute 로 변경
그 위에 scrollPane ⇒ bounds 로 크기 변경 가능 그럼 view 포인터 등등 보임
그 위에 table 얹기
- model 옆에 … 누르기!
- 창이 열리면 열과 행 수 적어주기 ⇒ 테이블 자동 생성
- 더블클릭하면 값 넣기 가능
- 우린 벡터 사용 ([]배열은 크기고정 및 단점이 많아서 잘 사용하지 않음)
ArrayList ← Bean 넣음 ( 우리가 jsp 시간에 늘 하던거 )
우린 Vector ← Vector 넣음 (Bean만 없는 것일 뿐 방법은 똑같다!)
- 제목열
1번 배열 쓸 일은 잘 없고, 2-1 과 2-2 잘 씀 (벡터사용)
======== Ex2.java
< JOptionPane 클래스 >
- 간단한 다이얼로그(Dialog) 를 사용하여 사용자와 상호작용하는 객체
- JOptionPane.showXXXDialog() 메서드 사용
1) MessageDialog : 사용자에게 메세지 표시
JOptionPane.showMessageDialog(parentComponent, message, title, messageType, icon); |
- parentComponent : 다이얼로그를 표시할 대상 컴포넌트
⇒ 참조변수 지정 시 해당 컴포넌트 위에 표시됨
만약, null 값 지정 시 화면 가운데 표시됨
- message : 사용자에게 보여질 다이얼로그 메세지 본문
- title : 다이얼로그 제목 표시줄 내용
- messageType : 다이얼로그 성격을 지정
⇒ JOptionPane.XXX_MESSAGE 상수 사용하여 지정
INFORMATION_MESSAGE : 일반적인 정보(보라색 '!' 아이콘)
WARNING_MESSAGE : 경고 정보(노란색 '!' 아이콘)
ERROR_MESSAGE : 오류 정보(빨간색 'X' 아이콘)
QUESTION_MESSAGE : 질문 정보(초록색 '?' 아이콘)
PLAIN_MESSAGE : 아이콘 없음
2) ConfirmDialog : 사용자로부터 버튼을 눌러서 확인
⇒ 리턴타입이 int이므로 선택한 버튼에 대한 결과값 받아 판별 가능
JOptionPane.showConfirmDialog(parentComponent, message, title, optionType, messageType); |
- parentComponent : 동일
- message : 동일
- title : 동일
- optionType : 확인할 버튼의 종류 설정
JOptionPane.XXX_OPTION 상수 사용
⇒ YES_NO_OPTION : 예(Y), 아니오(N) 버튼
YES_NO_CANCEL_OPTION : 예(Y), 아니오(N), 취소 버튼
OK_CANCEL_OPTION : 확인, 취소 버튼
⇒ 리턴값으로 전달되는 선택 버튼의 값이 다름
(YES_OPTION 과 OK_OPTION 은 동일한 값, NO_OPTION, CANCEL_OPTION)
- messageType : 동일
3) InputDialog : 사용자로부터 값을 입력
⇒ 리턴타입이 String 이므로 입력받은 값 저장 가능
< 필기 시험 >
필기 20문제 서술많음 코딩도 있음 no오픈북
객관식 2-3문제 2점
주관식 단답 4점
주관식 서술 8점…정도?
코딩 10점
< 실기 : 과제 >
“빅데이터_191226_자기이름_MemberGUI.java”
화면이 완전 똑같을 필요는 없고 구성만 맞추기
< user 테이블 생성 > 필드 1. 번호(idx) INT형 PK(PRIMARY KEY) AI(AUTO_INCREMENT) 2. 아이디(id) VARCHAR(10) UN NN 3. 패스워드(password) VARCHAR(16) NN CREATE TABLE user ( idx INT PRIMARY KEY AUTO_INCREMENT, id VARCHAR(10) NOT NULL UNIQUE, password VARCHAR(16) NOT NULL ); |
- user 테이블과 member 테이블 사용할 것!
- mysql
- 왼쪽 위 IP 값 localhost 는 setText 로 박아두기(고정)
- 아무것도 안넣고 로그인 누르면 DB 계정입력 필수! 뜨게 나오기
- 아이디 비고 로그인 눌렀을 때, 비밀번호 비고 로그인 눌렀을 때 등 메세지창 띄우기
- 로그인 실패하면 창 띄우고, 로그인 성공하면 Login 버튼 을 Logout 으로 바꾸기
- 로그인 될때만 버튼 동작하도록! (isXXX 변수로 login/logout 구분 가능! 알아서 구현해보기)
- username(id) 랑 password 입력값으로 고정
- 실패하면 실패했다고 띄우기
- 목록 누를 때마다 계속 추가가될텐데… 그건 안배움! 시험 당일 날 알려줌!
- 추가 삭제 시 목록 갱신(목록 띄우는 메서드 한 번 더 호출하면 됨!)
< 클래스 구조 >
======== MemberGUI.java / MemberDAO.java
DB 작업은 MemberDAO 에서 할 거!
'Dev.Program > Java & Spring' 카테고리의 다른 글
MVC2 - (2) Service 클래스 (0) | 2022.10.07 |
---|---|
MVC2 - (1) (0) | 2022.10.07 |
자바 Swing(스윙) - (4) (0) | 2022.10.06 |
자바 Swing(스윙) - (3) (0) | 2022.10.06 |
자바 Swing(스윙) - (2) (0) | 2022.10.06 |