일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 안드로이드폰
- 아이폰 배경화면
- SKY 시리우스
- 안드로이드 개발 강좌
- 안드로이드2.0
- 스카이 안드로이드폰 시리우스
- 아이폰 바탕화면
- 안드로이드개발
- 안드로이드 배경화면
- 스카이 안드로이드폰 시리우스 K양 동영상
- 안드로이드2.0개발
- 안드로이드 개발 2.0 강좌
- 하루 한마디 영어
- sky 시리우스폰
- 하루한마디영어
- 인기있는 블로그 만들기
- 구글 안드로이드
- 안드로이드 2.0 개발
- 안드로이드 개발 2.0
- objective-c
- 안드로이드
- 구글 안드로이드 개발
- 구글안드로이드
- MapView
- 안드로이드 개발
- 영어
- Form Stuff
- 안드로이드 바탕화면
- 스마트폰 배경화면
- android
- Today
- Total
moozi
9/12 haksa 본문
import java.awt.Container;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.JTextArea;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;
public class Haksa extends JFrame{
JTextField idTxt=null;//학번
JTextField nameTxt=null;//이름
JTextField departmentTxt=null;//학과
JTextField addressTxt=null;//주소
JTextArea listTA=null;//목록
JButton selectBtn=null;//목록버튼
JButton insertBtn=null;//등록버튼
JButton updateBtn=null;//수정버튼
JButton deleteBtn=null;//삭제버튼
JButton searchBtn=null;//검색버튼
DefaultTableModel model=null;//테이블모델
JTable table=null;//테이블
Connection conn=null;//연결객체
public Haksa() {
this.setTitle("학사관리시스템");
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//connection객체 생성
try {
Class.forName("com.mysql.jdbc.Driver");
conn=DriverManager.getConnection("jdbc:mysql://localhost:3306/sampledb?useSSL=false", "root", "1234");
}catch(Exception e) {
e.printStackTrace();
}
//윈도우 종료시 connection close
this.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent e){
try {
if(conn!=null){
conn.close();
}
} catch (SQLException e1) {
e1.printStackTrace();
}
}
});
Container c=this.getContentPane();
c.setLayout(new FlowLayout());
c.add(new JLabel("학번"));
idTxt=new JTextField(14);
c.add(idTxt);
searchBtn=new JButton("검색");
searchBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
try {
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select * from student where id='"+idTxt.getText()+"'");
//목록초기화
// listTA.setText("");
//
// listTA.append("학번\t");
// listTA.append("이름\t");
// listTA.append("학과\n");
// listTA.append("===================================\n");
model.setRowCount(0);
if(rs.next()) {
//System.out.print(rs.getString("id")+"\t");
//System.out.print(rs.getString("name")+"\t");
//System.out.print(rs.getString("dept")+"\n");
idTxt.setText(rs.getString("id"));
nameTxt.setText(rs.getString("name"));
departmentTxt.setText(rs.getString("dept"));
// listTA.append(rs.getString("id")+"\t");
// listTA.append(rs.getString("name")+"\t");
// listTA.append(rs.getString("dept")+"\n");
String[] row=new String[3];
row[0]=rs.getString("id");
row[1]=rs.getString("name");
row[2]=rs.getString("dept");
model.addRow(row);
}
rs.close();
}catch(Exception e) {
e.printStackTrace();
}
}});
c.add(searchBtn);
c.add(new JLabel("이름"));
nameTxt=new JTextField(20);
c.add(nameTxt);
c.add(new JLabel("학과"));
departmentTxt=new JTextField(20);
c.add(departmentTxt);
c.add(new JLabel("주소"));
addressTxt=new JTextField(20);
c.add(addressTxt);
//listTA=new JTextArea(15,23);
//c.add(new JScrollPane(listTA));
String[] colName= {"학번","이름","학과"};
model=new DefaultTableModel(colName,0);
table=new JTable(model);
table.setPreferredScrollableViewportSize(new Dimension(250,200));
c.add(new JScrollPane(table));
//테이블의 특정행을 선택할 때 textfield에 값 출력하기
table.addMouseListener(new MouseListener() {
@Override
public void mouseClicked(MouseEvent arg0) {
table=(JTable)arg0.getComponent();
model=(DefaultTableModel)table.getModel();
String id=(String)model.getValueAt(table.getSelectedRow(),0);
String name=(String)model.getValueAt(table.getSelectedRow(),1);
String dept=(String)model.getValueAt(table.getSelectedRow(),2);
idTxt.setText(id);
nameTxt.setText(name);
departmentTxt.setText(dept);
}
@Override
public void mouseEntered(MouseEvent arg0) {}
@Override
public void mouseExited(MouseEvent arg0) {}
@Override
public void mousePressed(MouseEvent arg0) {}
@Override
public void mouseReleased(MouseEvent arg0) {}
});
selectBtn=new JButton("목록");
selectBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
showList();//목록출력
}});
c.add(selectBtn);
insertBtn=new JButton("등록");
insertBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
//필수입력항목 체크
if(idTxt.getText().equals("")) {
JOptionPane.showMessageDialog(null, "학번을 입력하세요", "알림", JOptionPane.INFORMATION_MESSAGE);
return; //메서드종료
}
if(nameTxt.getText().equals("")) {
JOptionPane.showMessageDialog(null, "이름을 입력하세요", "알림", JOptionPane.INFORMATION_MESSAGE);
return; //메서드종료
}
if(departmentTxt.getText().equals("")) {
JOptionPane.showMessageDialog(null, "학과를 입력하세요", "알림", JOptionPane.INFORMATION_MESSAGE);
return; //메서드종료
}
try {
Statement stmt=conn.createStatement();
stmt.executeUpdate("insert into student values('"+idTxt.getText()+"','"+nameTxt.getText()+"','"+departmentTxt.getText()+"')");
}catch(Exception e) {
if(e.getMessage().indexOf("Duplicate")!=-1);
JOptionPane.showMessageDialog(null, "학번이 중복됩니다.", "알림", JOptionPane.ERROR_MESSAGE);
}
showList();//목록출력
}});
c.add(insertBtn);
updateBtn=new JButton("수정");
updateBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
try {
Statement stmt=conn.createStatement();
String sql="update student set "
+ " name='"+nameTxt.getText()+"',"
+ " dept='"+departmentTxt.getText()+"'"
+ " where id='"+idTxt.getText()+"'";
stmt.executeUpdate(sql);
}catch(Exception e) {
e.printStackTrace();
}
showList();//목록출력
}});
c.add(updateBtn);
deleteBtn=new JButton("삭제");
deleteBtn.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent arg0) {
//학번입력여부 확인
if(idTxt.getText().equals("")) {
JOptionPane.showMessageDialog(null, "학번을 입력하세요", "알림", JOptionPane.INFORMATION_MESSAGE);
return; //메서드종료
}
//삭제여부 confirm
int result=JOptionPane.showConfirmDialog(null, "삭제하시겠습니까?", "알림", JOptionPane.YES_NO_OPTION);
if(result==JOptionPane.YES_OPTION) {
//삭제처리
try {
Statement stmt=conn.createStatement();
String sql="delete from student "
+ " where id='"+idTxt.getText()+"'";
stmt.executeUpdate(sql);
}catch(Exception e) {
e.printStackTrace();
}
showList();//목록출력
//입력항목초기화
idTxt.setText("");
nameTxt.setText("");
departmentTxt.setText("");
}
}});
c.add(deleteBtn);
this.setSize(290, 500);
this.setVisible(true);
this.setResizable(false);
}
public static void main(String[] args) {
new Haksa();
}
//전체목록
public void showList() {
try {
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery("select * from student");
//목록초기화
// listTA.setText("");
//
// listTA.append("학번\t");
// listTA.append("이름\t");
// listTA.append("학과\n");
// listTA.append("===================================\n");
//테이블 목록 초기화
model.setRowCount(0);
while(rs.next()) {
//System.out.print(rs.getString("id")+"\t");
//System.out.print(rs.getString("name")+"\t");
//System.out.print(rs.getString("dept")+"\n");
// listTA.append(rs.getString("id")+"\t");
// listTA.append(rs.getString("name")+"\t");
// listTA.append(rs.getString("dept")+"\n");
String[] row=new String[3];
row[0]=rs.getString("id");
row[1]=rs.getString("name");
row[2]=rs.getString("dept");
model.addRow(row);
}
rs.close();
}catch(Exception e) {
e.printStackTrace();
}
}
}
'TIS_2018 > 응용sw2018_2기' 카테고리의 다른 글
html연습문제01 (0) | 2018.09.13 |
---|---|
자바미니프로젝트 (0) | 2018.09.12 |
9/12 haksa menu - Haksa.java (0) | 2018.09.12 |
9/12 sql (0) | 2018.09.12 |
bookRent (0) | 2018.09.12 |