Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
29 | 30 | 31 |
Tags
- 디즈니씨
- flex3
- rss
- express for node.js
- Cross
- iBatis
- 베트남어
- 명사 분석기
- 메일왕창보내는법
- Lift
- 책이야기
- Node.js
- php thumbnail
- php
- 명사 추출기
- 나의 취미
- ajax
- nodejs express
- scala
- docker
- ror실행
- 스킨 스쿠버
- C/C++
- 도커
- ejb
- 명사 뽑아내기
- Eclipse
- 주식이야기
- 나의 프로젝트
- node.js web framework
Archives
- Today
- Total
nkdk의 세상
자바 Language 23일째 테이블 사용과 문제 본문
package db;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
public class TableTest extends JFrame implements ActionListener{
// 데이터 값을 실제로 주고 시작합니다.
String data[][]=new String[10][3];
String data2[][]=new String[0][3];
String title[]={"이름", "주소", "전화"};
DefaultTableModel mod,mod1; // 테이블 데이타 모델을 클래스를 선언한다.
JTable tab, tab1;
JButton btnCopy, btnDel;
public TableTest() {
// 로직만 가지고 있는 것이다.
mod=new DefaultTableModel(data,title); // 행과 열의 개수를 가져야 한다.
tab=new JTable(mod);
JScrollPane scroll=new JScrollPane(tab);
mod1=new DefaultTableModel(data2,title); // 행과 열의 개수를 가져야 한다.
tab1=new JTable(mod1);
JScrollPane scroll1=new JScrollPane(tab1);
btnCopy=new JButton("복사");
btnDel=new JButton("삭제");
btnCopy.addActionListener(this);
btnDel.addActionListener(this);
JPanel pn=new JPanel(new BorderLayout());
pn.add("Center", scroll);
pn.add("South", btnCopy);
JPanel pn1=new JPanel(new BorderLayout());
pn1.add("Center", scroll1);
pn1.add("South", btnDel);
this.getContentPane().setLayout(new GridLayout(1,2));
this.getContentPane().add(pn);
this.getContentPane().add(pn1);
this.setBounds(200,200,300,300);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new TableTest();
}
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(btnCopy)) {
int row=tab.getSelectedRow(); // 현재 선택된 행번호 호출
String imsi[]={(String)mod.getValueAt(row, 0),
(String)mod.getValueAt(row, 1), (String)mod.getValueAt(row, 2)};
mod1.addRow(imsi);
}else if (e.getSource().equals(btnDel)) {
mod1.removeRow(tab1.getSelectedRow());
}
}
}
package db;
import java.awt.*;
import java.awt.event.*;
import java.math.*;
import javax.swing.*;
import javax.swing.table.*;
import java.sql.*;
import pac.DBConnectionMgr;
public class tabMon1 extends JFrame{
Object data[][]=new String[0][7];
String title[]={"사번", "이름", "성별", "연봉", "세금", "실수령액", "세금율"};
DefaultTableModel mod; // 테이블 데이타 모델을 클래스를 선언한다.
JTable tab;
JLabel lblCount;
Connection conn;
Statement stmt;
ResultSet rs;
DBConnectionMgr pool;
public tabMon1() {
mod=new DefaultTableModel(data,title); // 행과 열의 개수를 가져야 한다.
tab=new JTable(mod);
JScrollPane scroll=new JScrollPane(tab);
lblCount=new JLabel("전체 건수 : ", JLabel.LEFT);
this.getContentPane().add("Center",scroll);
this.getContentPane().add("South",lblCount);
this.setBounds(200,200,500,300);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
accDb();
accSql();
}
public void accSql() {
try {
stmt=conn.createStatement();
rs=stmt.executeQuery("select sawon_no, sawon_name, sawon_sex, sawon_pay from sawon");
int count=0;
while(rs.next()) {
String s_no=rs.getString("sawon_no");
String s_name=rs.getString("sawon_name");
String s_sex=rs.getString("sawon_sex");
int s_pay=rs.getInt("sawon_pay");
float s_yul;
if (s_pay >=4000)
s_yul = (float) 0.05;
else if (s_pay >= 3500)
s_yul = (float) 0.04;
else if (s_pay >= 3000)
s_yul = (float) 0.03;
else s_yul = (float) 0.02;
Object imsi[]={s_no, s_name, s_sex, s_pay+"만원", Math.round(s_pay*s_yul)+"만원", Math.round(s_pay-s_pay*s_yul)+"만원", s_yul+"%"};
mod.addRow(imsi);
count++;
}
lblCount.setText("전체 건수 : "+count+"명");
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "SQL오류:"+e);
}finally{
try{
rs.close(); stmt.close(); conn.close();
}catch (Exception e) {
JOptionPane.showMessageDialog(this, "SQL닫음오류:"+e);
}
}
}
public void accDb() {
try {
pool = DBConnectionMgr.getInstance();
} catch (Exception e) {
System.out.println("커넥션 오류: " + e);
}
try {
conn = pool.getConnection(); // 이렇게 하면 연결 까지 완료 됨.
} catch (Exception e) {
System.out.println("객체 생성 오류: " + e);
}
}
public static void main(String[] args) {
new tabMon1();
}
}
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.table.*;
public class TableTest extends JFrame implements ActionListener{
// 데이터 값을 실제로 주고 시작합니다.
String data[][]=new String[10][3];
String data2[][]=new String[0][3];
String title[]={"이름", "주소", "전화"};
DefaultTableModel mod,mod1; // 테이블 데이타 모델을 클래스를 선언한다.
JTable tab, tab1;
JButton btnCopy, btnDel;
public TableTest() {
// 로직만 가지고 있는 것이다.
mod=new DefaultTableModel(data,title); // 행과 열의 개수를 가져야 한다.
tab=new JTable(mod);
JScrollPane scroll=new JScrollPane(tab);
mod1=new DefaultTableModel(data2,title); // 행과 열의 개수를 가져야 한다.
tab1=new JTable(mod1);
JScrollPane scroll1=new JScrollPane(tab1);
btnCopy=new JButton("복사");
btnDel=new JButton("삭제");
btnCopy.addActionListener(this);
btnDel.addActionListener(this);
JPanel pn=new JPanel(new BorderLayout());
pn.add("Center", scroll);
pn.add("South", btnCopy);
JPanel pn1=new JPanel(new BorderLayout());
pn1.add("Center", scroll1);
pn1.add("South", btnDel);
this.getContentPane().setLayout(new GridLayout(1,2));
this.getContentPane().add(pn);
this.getContentPane().add(pn1);
this.setBounds(200,200,300,300);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
public static void main(String[] args) {
new TableTest();
}
public void actionPerformed(ActionEvent e) {
if (e.getSource().equals(btnCopy)) {
int row=tab.getSelectedRow(); // 현재 선택된 행번호 호출
String imsi[]={(String)mod.getValueAt(row, 0),
(String)mod.getValueAt(row, 1), (String)mod.getValueAt(row, 2)};
mod1.addRow(imsi);
}else if (e.getSource().equals(btnDel)) {
mod1.removeRow(tab1.getSelectedRow());
}
}
}
package db;
import java.awt.*;
import java.awt.event.*;
import java.math.*;
import javax.swing.*;
import javax.swing.table.*;
import java.sql.*;
import pac.DBConnectionMgr;
public class tabMon1 extends JFrame{
Object data[][]=new String[0][7];
String title[]={"사번", "이름", "성별", "연봉", "세금", "실수령액", "세금율"};
DefaultTableModel mod; // 테이블 데이타 모델을 클래스를 선언한다.
JTable tab;
JLabel lblCount;
Connection conn;
Statement stmt;
ResultSet rs;
DBConnectionMgr pool;
public tabMon1() {
mod=new DefaultTableModel(data,title); // 행과 열의 개수를 가져야 한다.
tab=new JTable(mod);
JScrollPane scroll=new JScrollPane(tab);
lblCount=new JLabel("전체 건수 : ", JLabel.LEFT);
this.getContentPane().add("Center",scroll);
this.getContentPane().add("South",lblCount);
this.setBounds(200,200,500,300);
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
accDb();
accSql();
}
public void accSql() {
try {
stmt=conn.createStatement();
rs=stmt.executeQuery("select sawon_no, sawon_name, sawon_sex, sawon_pay from sawon");
int count=0;
while(rs.next()) {
String s_no=rs.getString("sawon_no");
String s_name=rs.getString("sawon_name");
String s_sex=rs.getString("sawon_sex");
int s_pay=rs.getInt("sawon_pay");
float s_yul;
if (s_pay >=4000)
s_yul = (float) 0.05;
else if (s_pay >= 3500)
s_yul = (float) 0.04;
else if (s_pay >= 3000)
s_yul = (float) 0.03;
else s_yul = (float) 0.02;
Object imsi[]={s_no, s_name, s_sex, s_pay+"만원", Math.round(s_pay*s_yul)+"만원", Math.round(s_pay-s_pay*s_yul)+"만원", s_yul+"%"};
mod.addRow(imsi);
count++;
}
lblCount.setText("전체 건수 : "+count+"명");
} catch (Exception e) {
JOptionPane.showMessageDialog(this, "SQL오류:"+e);
}finally{
try{
rs.close(); stmt.close(); conn.close();
}catch (Exception e) {
JOptionPane.showMessageDialog(this, "SQL닫음오류:"+e);
}
}
}
public void accDb() {
try {
pool = DBConnectionMgr.getInstance();
} catch (Exception e) {
System.out.println("커넥션 오류: " + e);
}
try {
conn = pool.getConnection(); // 이렇게 하면 연결 까지 완료 됨.
} catch (Exception e) {
System.out.println("객체 생성 오류: " + e);
}
}
public static void main(String[] args) {
new tabMon1();
}
}