본문 바로가기
TechNical/JAVA

테이블 맹글던거.. 쥐톨만큼 발전한거 ;; Ver #1.0000000001

by 강멍멍이 2008. 11. 19.
반응형

import java.awt.*;
import javax.swing.*;
import javax.swing.JTable;
import java.sql.*;
import javax.swing.event.*;
import java.awt.event.*;
import java.util.*;

public class Kei_App extends JFrame {
 // 테이블 헤더 데이터
 private String[] col_name;
 // 테이블에 포함될 데이터
 private Object[][] data = new Object[200][2];
 
 // CDID 받을 꺼
 JTextField name;
 
 // 생성자
 public Kei_App() {
 
  Container cp = getContentPane();
  cp.setLayout(new BorderLayout());
  name = new JTextField("",10);
  name.setCaretColor(Color.blue);
  cp.add(new JLabel("그룹코드 : "), BorderLayout.WEST);        
        cp.add(name, BorderLayout.CENTER);
       
        name.addActionListener( new ActionListener()
                      {
                           public void actionPerformed(ActionEvent ae) {
                              for ( int j = 0 ; j < 200 ; j++ )
               {
             data[j][0] = "";
             data[j][1] = "";            
            }
            //System.out.println("---------");
                              dataGet(); // 데이터 가져와서
                              repaint(); // 테이블 리프레쉬
                          }                         
                      }                     
            );
       
  // 테이블 헤더
  col_name = new String[] {"CDID","CDNM"};
  // 데이터 가꼬 오기
  dataGet();
       
  // JTable 객체생성. 이때 인자로 헤더와 데이터를 넘겨준다.
  JTable table=new JTable(data,col_name);
 
  // 컬럼 길이 지정, 안 되넝 ;;
  table.getColumnModel().getColumn(0).setPreferredWidth(20);
 
 
  // 테이블을 JScrollPane 에 부착한다.
  // JScrollPane은 스크롤바를 가진 pane이다.
  JScrollPane scrollPane = new JScrollPane(table);
  cp.add(scrollPane, BorderLayout.SOUTH);
 
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
 }
 
 public void dataGet() {
            Connection con=null;
            Statement stmt=null;
            ResultSet rs=null;
            try {
            Class.forName("oracle.jdbc.driver.OracleDriver");                        
               con = DriverManager.getConnection("jdbc:oracle:thin:@127.0.0.1:1521:orcl", "scott", "tiger");
               stmt = con.createStatement();
               rs = stmt.executeQuery("select cdid,cdnm from table_aa where condi =" + "'" + name.getText().trim().toUpperCase() + "'");
              // System.out.println(name.getText().trim());
               int i = 0;
               while(rs.next()) {                 
                //data[i][0] = rs.getString("cdid");
                //data[i][1] = rs.getString("cdnm");
                  data[i][0] = rs.getString(1);
                  data[i][1] = rs.getString(2);
                 
                //  System.out.println(i + " : " + rs.getString("cdid") + ", data[][] : "+ data[i][0]);
                  i++;
               }
            }
            catch(Exception e) {System.out.println(e);}
            finally {
                     try {
                             if (con != null)
                             {
                              con.close();     
                             }
                     }
                     catch (Exception e){}
            }
    }

 // main 메서드
 public static void main(String[] args) {
  Kei_App Kei_App1 = new Kei_App();  
  Kei_App1.setSize(500,500);    
  Kei_App1.setVisible(true);
    }
   
}



에.... 뭐라고 해야 하나.. 뭐.. X 딱 누르면은 커맨드창 까지 다 종료되고..
음.. 뭐라고 해야 하나.. 패널에다가.. .. 좀 바꼈다 ㅋ

반응형

댓글