관리 메뉴

moozi

5/26 컴보2B-과제,시험관련 본문

카테고리 없음

5/26 컴보2B-과제,시험관련

moozi 2015. 5. 26. 11:50

import java.awt.Color;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

import javax.swing.ButtonGroup;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JRadioButton;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;

 

 

public class Member extends JFrame {
 
 JTextArea ta;//목록
 JTextField tfName; //이름
 JTextField tfID; //학번
 JTextField tfDepartment; //학과
 JTextField tfAddress; //주소
 JCheckBox cbHobby1; //취미1. 독서
 JCheckBox cbHobby2; //취미2. 운동
 JCheckBox cbHobby3; //취미3. 게임
 JRadioButton rbGender1;//성별1. 남
 JRadioButton rbGender2;//성별2. 여
 
 Member(){
  setTitle("학생관리");//타이틀  
  
  Container c=getContentPane();
  c.setLayout(new FlowLayout(FlowLayout.LEFT));
  c.setBackground(Color.ORANGE);
  
  c.add(new JLabel("이름"));
  tfName=new JTextField(20);
  c.add(tfName);
  
  c.add(new JLabel("학번"));
  tfID=new JTextField(13);
  c.add(tfID); 
  
  JButton btnSearch=new JButton("Search");
  c.add(btnSearch);
  btnSearch.addActionListener(new ActionListener(){

   @Override
   public void actionPerformed(ActionEvent arg0) {
    try{
     Class.forName("com.mysql.jdbc.Driver");//드라이버로드
     String connStr="jdbc:mysql://localhost:8888/sampledb";
     Connection conn=DriverManager.getConnection(connStr,"root","1234");
     Statement stm=conn.createStatement();
        
     ResultSet rs=stm.executeQuery("select * from student where id='"+tfID.getText()+"'");
     ta.setText("");//목록 초기화
     ta.append("학번\t");
     ta.append("이름\t");
     ta.append("학과\t");
     ta.append("주소\n");
     ta.append("===========================================\n");
     if(rs.next()){
      ta.append(rs.getString("id")+"\t");
      ta.append(rs.getString("name")+"\t");
      ta.append(rs.getString("dept")+"\t");
      ta.append(rs.getString("address")+"\n");
      
      tfName.setText(rs.getString("name"));
      tfID.setText(rs.getString("id"));
      tfDepartment.setText(rs.getString("dept"));
      tfAddress.setText(rs.getString("address"));
     }
     
     
     
     rs.close();
     stm.close();
     conn.close();
     
    }catch(Exception a){
     a.printStackTrace();//에러메시지출력
    } 
    
   }});
  
  
  c.add(new JLabel("학과"));
  tfDepartment=new JTextField(20);
  c.add(tfDepartment);
  
  c.add(new JLabel("주소"));
  tfAddress=new JTextField(20);
  c.add(tfAddress);
  
  c.add(new JLabel("취미"));
  cbHobby1 = new JCheckBox("독서");
  cbHobby2 = new JCheckBox("운동");
  cbHobby3 = new JCheckBox("게임");
  c.add(cbHobby1);
  c.add(cbHobby2);
  c.add(cbHobby3);
  
  c.add(new JLabel("                     "));//줄바꾸기용
  
  c.add(new JLabel("성별"));
  ButtonGroup group=new ButtonGroup();
  rbGender1=new JRadioButton("남", true);
  rbGender2=new JRadioButton("여");
  group.add(rbGender1);
  group.add(rbGender2);
  c.add(rbGender1);
  c.add(rbGender2);
  
  
  
  ta=new JTextArea(7,23);
  c.add(new JScrollPane(ta));//스크롤구현  
  
  JButton btnOK=new JButton("Insert");
  c.add(btnOK);
  //버튼에 리스너추가
  btnOK.addActionListener(new ActionListener(){

   @Override
   public void actionPerformed(ActionEvent e) {
    if(tfName.getText().equals("")){
     JOptionPane.showMessageDialog(null, "이름을 입력하세요","알림",JOptionPane.ERROR_MESSAGE);
     tfName.requestFocus();//포커스
     return;//함수종료     
    }
    if(tfDepartment.getText().equals("")){
     JOptionPane.showMessageDialog(null, "학과를 입력하세요","알림",JOptionPane.ERROR_MESSAGE);
     tfDepartment.requestFocus();//포커스
     return;//함수종료     
    }
    if(tfAddress.getText().equals("")){
     JOptionPane.showMessageDialog(null, "주소를 입력하세요","알림",JOptionPane.ERROR_MESSAGE);
     tfAddress.requestFocus();//포커스
     return;//함수종료     
    }    
    
    
    //취미연결하기
    String hobby="";
    if(cbHobby1.isSelected()){
     hobby+="독서-";
    }
    if(cbHobby2.isSelected()){
     hobby+="운동-";
    }
    if(cbHobby3.isSelected()){
     hobby+="게임";
    }
    
    //성별
    String gender="";
    if(rbGender1.isSelected()){
     gender="남";
     
    }else if(rbGender2.isSelected()){
     gender="여";
    }
    
     
    try{
     Class.forName("com.mysql.jdbc.Driver");//드라이버로드
     String connStr="jdbc:mysql://localhost:8888/sampledb";
     Connection conn=DriverManager.getConnection(connStr,"root","1234");
     Statement stm=conn.createStatement();
       
     String sql="insert into student(id,name,dept,address,hobby,gender) "
       + " values('"+tfID.getText()+"','"+tfName.getText()+"','"+tfDepartment.getText()+"','"+tfAddress.getText()+"','"+hobby+"','"+gender+"')";
     stm.executeUpdate(sql);
     
     ResultSet rs=stm.executeQuery("select * from student");
     ta.setText("");//목록 초기화
     ta.append("학번\t");
     ta.append("이름\t");
     ta.append("학과\t");
     ta.append("주소\t");
     ta.append("성별\n");
     ta.append("==========================================================\n");
     while(rs.next()){
      ta.append(rs.getString("id")+"\t");
      ta.append(rs.getString("name")+"\t");
      ta.append(rs.getString("dept")+"\t");
      ta.append(rs.getString("address")+"\t");
      ta.append(rs.getString("gender")+"\n");
     }
     
     
     rs.close();
     stm.close();
     conn.close();
     
    }catch(Exception a){
     a.printStackTrace();//에러메시지출력
    }
    
    
   }}); 
  
  JButton btnCancel=new JButton("List");
  btnCancel.addActionListener(new ActionListener(){

   @Override
   public void actionPerformed(ActionEvent e) {
    try{
     Class.forName("com.mysql.jdbc.Driver");//드라이버로드
     String connStr="jdbc:mysql://localhost:8888/sampledb";
     Connection conn=DriverManager.getConnection(connStr,"root","1234");
     Statement stm=conn.createStatement();
        
     ResultSet rs=stm.executeQuery("select * from student");
     ta.setText("");//목록 초기화
     ta.append("학번\t");
     ta.append("이름\t");
     ta.append("학과\t");
     ta.append("주소\n");
     ta.append("===========================================\n");
     while(rs.next()){
      ta.append(rs.getString("id")+"\t");
      ta.append(rs.getString("name")+"\t");
      ta.append(rs.getString("dept")+"\t");
      ta.append(rs.getString("address")+"\n");
     }
     
     
     rs.close();
     stm.close();
     conn.close();
     
    }catch(Exception a){
     a.printStackTrace();//에러메시지출력
    } 
    
   }});
  c.add(btnCancel);
  
  JButton btnInsert=new JButton("Update");
  c.add(btnInsert);
  btnInsert.addActionListener(new ActionListener(){

   @Override
   public void actionPerformed(ActionEvent e) {
    if(tfName.getText().equals("")){
     JOptionPane.showMessageDialog(null, "이름을 입력하세요","알림",JOptionPane.ERROR_MESSAGE);
     tfName.requestFocus();//포커스
     return;//함수종료     
    }
    if(tfDepartment.getText().equals("")){
     JOptionPane.showMessageDialog(null, "학과를 입력하세요","알림",JOptionPane.ERROR_MESSAGE);
     tfDepartment.requestFocus();//포커스
     return;//함수종료     
    }
    if(tfAddress.getText().equals("")){
     JOptionPane.showMessageDialog(null, "주소를 입력하세요","알림",JOptionPane.ERROR_MESSAGE);
     tfAddress.requestFocus();//포커스
     return;//함수종료     
    }    
    
     
    try{
     Class.forName("com.mysql.jdbc.Driver");//드라이버로드
     String connStr="jdbc:mysql://localhost:8888/sampledb";
     Connection conn=DriverManager.getConnection(connStr,"root","1234");
     Statement stm=conn.createStatement();
       
     String sql="update student set name='"+tfName.getText()+"', dept='"+tfDepartment.getText()+"', address='"+tfAddress.getText()
        +"' where id='"+tfID.getText()+"'";
       
     stm.executeUpdate(sql);
     
     ResultSet rs=stm.executeQuery("select * from student");
     ta.setText("");//목록 초기화
     ta.append("학번\t");
     ta.append("이름\t");
     ta.append("학과\t");
     ta.append("주소\n");
     ta.append("===========================================\n");
     while(rs.next()){
      ta.append(rs.getString("id")+"\t");
      ta.append(rs.getString("name")+"\t");
      ta.append(rs.getString("dept")+"\t");
      ta.append(rs.getString("address")+"\n");
     }
     
     
     rs.close();
     stm.close();
     conn.close();
     
    }catch(Exception a){
     a.printStackTrace();//에러메시지출력
    }
    
   }});
  
  
  JButton btnDelete=new JButton("Delete");
  c.add(btnDelete);
  btnDelete.addActionListener(new ActionListener(){

   @Override
   public void actionPerformed(ActionEvent e) {
    int result=JOptionPane.showConfirmDialog(null, "삭제하시겠습니까?", "확인", JOptionPane.YES_NO_OPTION);
    if(result==JOptionPane.YES_OPTION){
     try{
      Class.forName("com.mysql.jdbc.Driver");//드라이버로드
      String connStr="jdbc:mysql://localhost:8888/sampledb";
      Connection conn=DriverManager.getConnection(connStr,"root","1234");
      Statement stm=conn.createStatement();
        
      String sql="delete from student where id='"+tfID.getText()+"'";
        
      stm.executeUpdate(sql);
      
      ResultSet rs=stm.executeQuery("select * from student");
      ta.setText("");//목록 초기화
      ta.append("학번\t");
      ta.append("이름\t");
      ta.append("학과\t");
      ta.append("주소\n");
      ta.append("===========================================\n");
      while(rs.next()){
       ta.append(rs.getString("id")+"\t");
       ta.append(rs.getString("name")+"\t");
       ta.append(rs.getString("dept")+"\t");
       ta.append(rs.getString("address")+"\n");
      }
      //입력필드 초기화
      tfName.setText("");
      tfID.setText("");
      tfDepartment.setText("");
      tfAddress.setText("");
      
      
      rs.close();
      stm.close();
      conn.close();
      
     }catch(Exception a){
      a.printStackTrace();//에러메시지출력
     }
     
     
    }
    
    
   }});
  
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);//종료
  //setResizable(false);//화면크기조정금지
  setSize(305,385);//가로,세로 사이즈
  setVisible(true);//보이게하기.
  
 }

 
 
 
 public static void main(String[] args) {
  new Member();//생성자호출.인스턴스생성

 }

}

Comments