1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
|
package day24;
import java.awt.Font;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import dao.DeptDAO;
import vo.DeptVO;
public class MyWin extends JFrame implements ActionListener {
JButton jbtSearch, jbtAdd;
JLabel jlbSearch, jlbAddDname, jlbDname, jlbLoc;
JTextField jtfSearch, jtfDname, jtfLoc;
JTextArea jta;
JScrollPane jsp;
MyWin() {
setLayout(null);
jbtSearch = new JButton("검색");
jbtAdd = new JButton("ADD");
jlbSearch = new JLabel("부서검색");
jlbAddDname = new JLabel("부서추가");
jlbDname = new JLabel("부서명");
jlbLoc =new JLabel("위치");
jtfSearch = new JTextField();
jtfDname = new JTextField();
jtfLoc = new JTextField();
jta = new JTextArea();
jsp = new JScrollPane(jta, JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,
JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
// jta는 위와 같이 add된것이기 때문에 후에 또 add하면 안됨!
jsp.setBounds(100, 200, 500, 300);
Font f = new Font("굴림체", Font.BOLD, 20);
jta.setFont(f);
jlbSearch.setFont(f);
jlbDname.setFont(f);
jlbLoc.setFont(f);
jlbAddDname.setFont(f);
jbtAdd.setFont(f);
jbtSearch.setFont(f);
jbtSearch.setBounds(300, 100, 100, 30);
jbtAdd.setBounds(500, 600, 100, 30);
jlbSearch.setBounds(100, 50, 150, 50);
jlbAddDname.setBounds(100, 520, 100, 30 );
jlbDname.setBounds(100, 600, 80, 30);
jlbLoc.setBounds(300, 600, 80, 30);
jtfSearch.setBounds(100, 100, 100, 30);
jtfDname.setBounds(200, 600, 80, 30);
jtfLoc.setBounds(400, 600, 80, 30);
// jta.setBounds(80, 180, 500, 300);
add(jsp);
add(jbtSearch);
add(jbtAdd);
add(jlbSearch);
add(jlbAddDname);
add(jlbDname);
add(jlbLoc);
add(jtfSearch);
add(jtfDname);
add(jtfLoc);
// 이벤트 처리
jbtSearch.addActionListener(this);
jbtAdd.addActionListener(this);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setBounds(100, 100, 800, 800);
setVisible(true);
} // 생성자 end
public static void main(String[] args) {
MyWin d = new MyWin();
}
@Override
public void actionPerformed(ActionEvent e) {
Object obj = e.getSource();
if(obj == jbtSearch) {
// 검색
// 1. 텍스트 필드로부터 값 가져오기
String value = jtfSearch.getText(); // 10
// 2. 숫자로 변경
int deptno = Integer.parseInt(value);
// string은 클래스, int는 primitive type <변환>
// 3. DAO 객체 생성
DeptDAO dao = new DeptDAO();
// 4. 부서번호 주면 vo 객체를 리턴 받는 메서드 실행
DeptVO vo = dao.getOne(deptno);
System.out.println("vo : "+vo);
// 5. vo를 가지고 jta에 출력
if(vo!=null) {
System.out.println(vo.getDeptno()+" : "+vo.getDname()+" : "+vo.getLoc()); // 콘솔
jta.setText(vo.getDeptno()+" : "+vo.getDname()+" : "+vo.getLoc()); // textarea
} else {
System.out.println("존재하지 않는 부서입니다."); // 나중에~ JOption으로 구성 가능
}
dao.close();
} else if (obj == jbtAdd) {
// 추가
// 텍스트필드의 값 가져오기
String dname = jtfDname.getText();
String loc = jtfLoc.getText();
// dao 객체 생성
DeptDAO dao = new DeptDAO();
// 텍스트필드의 값을 vo로...
DeptVO vo2 = new DeptVO();
vo2.setDname(dname);
vo2.setLoc(loc);
// dao 부서 추가하는 메서드를 호출(매개변수)
dao.addOne(vo2);
//자원반납
dao.close();
} // 버튼 end
} // actionperformed end
} // class end
|
cs |
'Java' 카테고리의 다른 글
[Java] Lamda 람다식 (0) | 2023.04.09 |
---|---|
[Java] Paint Method (0) | 2023.04.06 |
[Java] DAO(Data Access Object) / VO(Value Object) - MemberDAO (0) | 2023.04.05 |
[Java] DAO(Data Access Object) / VO(Value Object) (0) | 2023.04.04 |
[Java] JDBC - 데이터 베이스 활용 (로그인, 회원가입 창 + 중복확인) (0) | 2023.03.31 |