티스토리 뷰
import java.awt.*;
import java.awt.event.*;
public class Manager
{
Frame frame;
Panel []panel;
Label lblTitle,lblName,lblHeight,lblSex,lblAge,lblWeight,lblLogin,lblDialog;
TextField tfName,tfHeight,tfAge,tfWeight,tfLogin;
Button btnSave,btnSearch,btnDelete,btnReset,btnUpdate,btnLogin,btnDialog;
Dialog login,dialog;
List list;
Checkbox chMale, chFemale;
CheckboxGroup chGroup;
String server;
//support line
MemberDAO dao ;
MemberVO vo;
public Manager()
{
frame = new Frame("회원 관리");
panel = new Panel[12];
for( int i = 0; i < panel.length ; i++)
{
panel[i] = new Panel();
}
lblTitle = new Label("회원 관리", Label.CENTER);
Font font = new Font("dialog" , Font.BOLD, 20);
lblTitle.setFont(font);
lblTitle.setForeground(new Color(123,54,32));
lblName = new Label("이 름");
lblHeight = new Label("키 ");
lblSex = new Label("성 별");
lblAge = new Label("연 령");
lblWeight = new Label("체 중");
lblLogin = new Label("데이터 베이스 서버 주소 ");
lblDialog = new Label(" ");
tfName = new TextField(" ");
tfHeight = new TextField(" ");
tfAge = new TextField(" ");
tfWeight = new TextField(" ");
tfLogin = new TextField(" ");
btnSave = new Button("Insert");
btnSearch = new Button("Search");
btnDelete = new Button("Delete");
btnReset = new Button("Reset");
btnUpdate = new Button("Update");
btnLogin = new Button("OK");
btnDialog = new Button("OK");
login = new Dialog(frame, "로그인", false);
dialog = new Dialog(frame,"경 고",false);
list = new List(7,false);
chGroup = new CheckboxGroup();
chMale = new Checkbox("Female",chGroup,false);
chFemale = new Checkbox("Male",chGroup,false);
frame.addWindowListener( new WindowAdapter () {
/*
1. anonymous class 이용하여 윈도우 창을 closing 시킨다.
*/
});
/*
login 다이얼로그 창의 ok 버튼을 누르면
1. 입력한 주소값을 server 변수에 저장
2. connectDB() 메소드 호출
3. login 다이얼로그 창 닫기
*/
btnLogin.addActionListener( new ActionListener () {
public void actionPerformed(ActionEvent ae) {
server = tfLogin.getText().trim();
connectDB();
login.dispose();
}
});
btnDialog.addActionListener( new ActionListener () {
/*
Alert 다이얼로그 창의 ok 버튼을 누르면
1. 모든 텍스트 필드값을 공백으로 초기화
2. Alert 다이얼로그 창 닫기
*/
public void actionPerformed(ActionEvent ae) {
}
});
list.addItemListener( new ItemListener () {
/*
List 을 클릭하면 클릭한 내용이 텍스트 필드 및 체그박스에 반영.
1. 우선은 클릭한 리스트의 index 을 구한다.
2. Member 클래스의 메소드를 이용하여 값을 구한다.
3. 구한 값을 텍스트 필드에 넣어준다.
*/
public void itemStateChanged(ItemEvent e) {}
});
btnReset.addActionListener( new ActionListener () {
/*
Reset 단추를 클릭하면 화면 클리어.
*/
public void actionPerformed(ActionEvent ae) {
}
});
btnSave.addActionListener( new ActionListener () {
/*
1. 이름을 적지 않고 클릭하면 다이얼로그 창에
"이름을 적어주세요 " 출력.
2. 모든 data 을 얻어와서 Database 클래스에 있는 addMember() 호출한다. Sex - '남' '여'
- Exception 발생하면 메시지를 Alert 다이얼로그 창에 출력
3. data을 리스트에 출력
*/
public void actionPerformed(ActionEvent ae) {
}
});
btnDelete.addActionListener( new ActionListener () {
/*
1.해당 name 을 가지고 Database 클래스의 delMember() 메소드 호출
-- Exception 발생하면 메시지를 Alert 다이얼로그 창에 출력
2. 화면 클리어.
*/
public void actionPerformed(ActionEvent ae) {
}
});
btnUpdate.addActionListener( new ActionListener() {
/*
1. 변경된 data 값을 이용하여 Database 클래스의 updateMember() 메소드 호출.
-- Exception 발생하면 메시지를 Alert 다이얼로그 창에 출력
2. 모든 화면 클리어.
3. data을 리스트에 출력.
*/
public void actionPerformed(ActionEvent ae) {
}
});
btnSearch.addActionListener( new ActionListener () {
/*
name 을 이용하여 Search 한다.
Search 된 내용은 리스트에 반영.
1. name 을 가지고 Database 클래스의 searchMember() 메소드 호춣한다.
-- Exception 발생하면 메시지를 Alert 다이얼로그 창에 출력
*/
public void actionPerformed(ActionEvent ae) {
}
});
}// end Manager 생성자
public void launchFrame()
{
panel[1].setLayout( new GridLayout(2,1));
panel[1].add(lblName);
panel[1].add(lblHeight);
panel[2].setLayout( new GridLayout(2,1));
panel[2].add(tfName);
panel[2].add(tfHeight);
panel[3].setLayout( new BorderLayout());
panel[3].add(panel[1], "West");
panel[3].add(panel[2], "Center");
panel[3].add( new Label(" "), "East");
panel[4].setLayout( new GridLayout(2,1));
panel[4].add(lblAge);
panel[4].add(lblWeight);
panel[5].setLayout( new GridLayout(2,1));
panel[5].add(tfAge);
panel[5].add(tfWeight);
panel[6].setLayout( new BorderLayout());
panel[6].add(panel[4],"West");
panel[6].add(panel[5],"Center");
panel[7].setLayout( new GridLayout(1,2));
panel[7].add(panel[3]);
panel[7].add(panel[6]);
panel[8].add(lblSex);
panel[8].add(chMale);
panel[8].add(chFemale);
panel[9].setLayout( new BorderLayout());
panel[9].add(lblTitle, "North");
panel[9].add(panel[7], "Center");
panel[9].add(panel[8], "South");
panel[10].setLayout( new GridLayout(1,5));
panel[10].setBackground(Color.black);
panel[10].setForeground(Color.white);
panel[10].add( new Label("이 름 "));
panel[10].add( new Label("나 이 "));
panel[10].add( new Label("체 중 "));
panel[10].add( new Label(" 키 "));
panel[10].add( new Label("성 별 "));
panel[11].setLayout( new BorderLayout());
panel[11].add(panel[10], "North");
panel[11].add(list , "Center");
panel[0].add(btnSave);
panel[0].add( new Label(" "));
panel[0].add(btnSearch);
panel[0].add( new Label(" "));
panel[0].add(btnDelete);
panel[0].add( new Label(" "));
panel[0].add(btnUpdate);
panel[0].add( new Label(" "));
panel[0].add(btnReset);
login.add(lblLogin, "North");
login.add(tfLogin, "Center");
login.add(btnLogin, "South");
dialog.add(lblDialog, "Center");
dialog.add(btnDialog, "South");
frame.add(panel[9], "North");
frame.add(panel[11], "Center");
frame.add(panel[0], "South");
// frame.setSize(400,300);
frame.pack();
login.setSize(300,100);
dialog.setSize(300,100);
frame.setResizable(false);// 크기 조절 불가
frame.setVisible(true);
login.show();
}// end launchFrame()
/*
1. Database 객체생성
2. 연결되면 리스트에 모든 data 을 출력.
*/
public void connectDB(){
try{
dao = new MemberDAO(server);
//displayAll();
}catch(Exception e){
System.out.println("DB Server 와 접속 불량");
}
}
public void displayAll() {
/*
리스트에 모든 data 을 출력시키는 메소드이다.
1. Database 클래스의 getAllMember() 이용하여 리스트에 add 시킨다.
2. for 문 이용.
*/
}//displayAll()
public static void main(String [] args)
{
Manager mem = new Manager();
mem.launchFrame();
}// end main()
}// end Manager class
'Programming > Java' 카테고리의 다른 글
| ObjectNotFoundException (0) | 2016.05.04 |
|---|---|
| MemberVO (0) | 2016.05.04 |
| MemberDAO (0) | 2016.05.04 |
| ConnNotAvailException (0) | 2016.05.04 |
| ConnectionPool (0) | 2016.05.04 |
