스윙 콤포넌트 추가 방법 2 : JTable
- 참조 : 스윙 콤포넌트 추가 방법 1(기본 콤포넌트 추가 과정 설명)
- JFrame을 상속받아 MainUI 클래스 만들기
12345678910111213141516public class MainUI extends JFrame{public MainUI(){this.setTitle("201712345 홍길동");this.setSize(800, 600);this.setLayout(null);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);// 콤포넌트 추가는 이곳에this.setVisible(true);}public static void main(String[] args) {new MainUI();}} - 콤보넌트 예제 : 그림의 오른쪽 부분은 위 참조 사이트에 설명되어 있음
- JTable 콤포넌트 추가
123456789101112131415161718192021222324252627public class MainUI extends JFrame{JTable table;DefaultTableModel model;public MainUI(){this.setTitle("201712345 홍길동");this.setSize(800, 600);this.setLayout(null);this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);Vector<Object> vecs = null;Vector<Object> cols = null;model = new DefaultTableModel(vecs, cols); // model.setDataVector(vecs, cols);table = new JTable(model);JScrollPane scroll = new JScrollPane(table);scroll.setBounds(10, 10, 300, 480);table.setBackground(Color.green);//table.addMouseListener(this); // 리스너 등록this.add(scroll);this.setVisible(true);}public static void main(String[] args) {new MainUI();}} - getTableHeader() 멤버 메서드 생성
1234567891011public Vector<Object> getTableHeader() {Vector<Object> col = new Vector<Object>();col.add("아이디");col.add("이름");col.add("전화");col.add("학과");col.add("성별");col.add("이메일");return col;} - getListVector() 멤버 메서드 생성
1234567891011121314151617public Vector<Object> getListVector() {Vector<Object> data = new Vector<Object>();for(int i=0; i<3; i++) {Vector<String> row = new Vector<String>();row.add("아이디" + i);row.add("이름" + i);row.add("전화" + i);row.add("학과" + i);row.add("성별" + i);row.add("이메일" + i);data.add(row);}return data;} - 소스 수정
12Vector<Object> vecs = getListVector();Vector<Object> cols = getTableHeader(); - getListVector() 멤버 메서드 수정(DAO 클래스로 이동 후 수정)
1234567891011121314151617181920212223242526272829public Vector<Object> getListVector() {Vector<Object> data = new Vector<Object>();// vector추가Connection con = null; // 연결PreparedStatement ps = null; // 명령ResultSet rs = null; // 결과try {con = getConn();String sql = "select * from " + tableName + " order by name asc;";ps = con.prepareStatement(sql);rs = ps.executeQuery();while (rs.next()) {Vector<String> row = new Vector<String>();row.add(rs.getString("id"));row.add(rs.getString("name"));row.add(rs.getString("tel"));row.add(rs.getString("dept"));row.add(rs.getString("sex"));row.add(rs.getString("email"));data.add(row);} // while} catch (Exception e) {e.printStackTrace();}return data;}// getListVector()- DB에서 읽어오는 부분인 select 부분을 getListVector() 메서드에 작성하면 됨
- .
- .