JAVA JTABLE 사용 예제

Programming/JAVA,JSP 2013. 3. 3. 11:20 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.util.ArrayList;

 

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JTable;

import javax.swing.table.AbstractTableModel;

import javax.swing.table.DefaultTableCellRenderer;

import javax.swing.table.DefaultTableColumnModel;

import javax.swing.table.TableCellRenderer;

import javax.swing.table.TableColumn;

import javax.swing.table.TableColumnModel;

import javax.swing.table.TableModel;

 

class Info {

    public String name;

    public int money;

    public long contentLength = 0L;

    public Info(String name, int money)

    {

        this.name = name;

        this.money = money;

    }

}

 

class InfoTableModel extends AbstractTableModel{

    private static final long serialVersionUID = 7932826462497464190L;

    public ArrayList<Info> pages;

 

    public InfoTableModel(){

        pages = new ArrayList<Info>();

    }

    public int getColumnCount() {

        return 2;

    }

    public int getRowCount() {

        return pages.size();

    }

    public void addInfo(Info page){

        int idx = pages.size();

        pages.add(page);

        fireTableRowsInserted(idx, idx); // 반드시 호출해야한다.

    }

    public Object getValueAt(int rowIndex, int columnIndex) {

        Info info = pages.get(rowIndex);

        switch (columnIndex) {

        case 0 :

            return info.name;

        case 1 :

            return info.money;

        case 2 :

            return info.contentLength;

        default :

                return "invalid";

        }

    }

}

class myFrame extends JFrame {

    JTable table;

 

    public myFrame() {

        // TODO Auto-generated constructor stub

        setSize(600, 400);

        setVisible(true);

 

        InfoTableModel model = new InfoTableModel();

        TableColumnModel columnModel = new DefaultTableColumnModel();

        TableCellRenderer renderer = new DefaultTableCellRenderer() ; // 기본구현

        model.addInfo(new Info("김종명",50000));

        model.addInfo(new Info("김종명",40000));

        model.addInfo(new Info("김종명",60000));

       

 

        TableColumn column = new TableColumn(0);

        column.setCellRenderer(renderer); // 이렇게 하지 않아도 알아서 제공된다.

        column.setHeaderValue("name");

        columnModel.addColumn(column);

       

        column = new TableColumn(1);

        column.setHeaderValue("money");

        columnModel.addColumn(column);

            

        table = new JTable(model, columnModel);

        add(table);

    }

 

}

 

public class CarTest3 {

 

    public static void main(String args[]) {

        new myFrame();

    }

}

'Programming > JAVA,JSP' 카테고리의 다른 글

JAVA 선택정렬  (0) 2013.03.03
JAVA 삽입 정렬  (0) 2013.03.03
JAVA executeQuery INSERT DELETE  (0) 2013.03.02
JAVA 데이터베이스 실습 예제 UI  (0) 2013.02.24
JAVA JDBC 튜토리얼 예제 사이트  (0) 2013.02.24

실습

실습과제 모음 2013. 3. 2. 14:39 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

import java.util.*;


public class DiceGameTest {


public static void main(String[] args) {

// 3명의 성적을 입력 받아

// 그 평균을 출력하라.

Scanner in = new Scanner(System.in);

System.out.print("몇명 :");

int x = in.nextInt();

int[] students;

students = new int[x];

int i;

for( i = 0; i < x ; i++ )

{

System.out.print( i + 1 + " :");

students[i] = in.nextInt();

}


int sum = 0;

for( i = 0 ; i < x ; i++)

{

sum += students[i]; // 0 ~ 3

}

System.out.println("합계는 " + sum );

System.out.println("평균은 " + sum 

/ x );

}

}


'실습과제 모음' 카테고리의 다른 글

JAVA 실습 0801  (0) 2013.08.01
JAVA 실습과제 0303 ~ 0309  (0) 2013.03.03
JAVA 가계부 프로그램  (0) 2013.03.02
JAVA 직원 관리 프로그램 작성  (0) 2013.03.02
JAVA 계산기 실습 중간코드  (0) 2013.02.16

JAVA executeQuery INSERT DELETE

Programming/JAVA,JSP 2013. 3. 2. 12:25 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

JAVA 에서

executeQuery 는 SELECT 시 사용됨


INSERT, DELETE 는

executeUpdate 를 사용함 


executeQuery 는 resultSet을 생성

executeUpdate 는 resultSet 대신 0과 1로 성공적으로 수행되었는지를 반환


예제 코드

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

public class JDBCEexecuteExample {
       
public static void main(String[] args) throws SQLException {
               
Connection connection = null; // connection reference variable for
                                                                               
// getting
               
// connection
               
Statement statement = null; // Statement reference variable for query
               
// Execution
               
ResultSet resultSet = null; // ResultSet reference variable for saving
                                                                       
// query
               
// result
               
String conUrl = "jdbc:mysql://localhost:3306/";
               
String driverName = "com.mysql.jdbc.Driver";
               
String databaseName = "student";
               
String usrName = "root";
               
String usrPass = "root";
               
try {
                       
// Loading Driver
                       
Class.forName(driverName);
               
} catch (ClassNotFoundException e) {
                       
System.out.println(e.toString());
               
}
               
try {
                       
// Getting Connection
                        connection
= DriverManager.getConnection(conUrl + databaseName,
                                        usrName
, usrPass);
                       
// setting connection autocommit false
                        connection
.setAutoCommit(false);
                       
// Getting reference to connection object
                        statement
= connection.createStatement();
                       
// creating Query String
                       
String updateQuery = "UPDATE student SET NAME='Rajan' WHERE RollNo=1";
                       
String selectQuery = "SELECT * FROM student";
                       
String insertQuery = "INSERT INTO student values(4,'Rohan','MCA','Mumbai')";
                       
String deleteQuery = "DELETE FROM student WHERE RollNo=4";
                       
// Insert Query
                        statement
.executeUpdate(insertQuery);
                       
// Updating Query
                       
int result = statement.executeUpdate(updateQuery);
                       
if (result == 1) {
                               
System.out.println("Table Updated Successfully.......");
                       
}
                       
// Delete Query
                        statement
.executeUpdate(deleteQuery);
                       
// excecuting query
                        resultSet
= statement.executeQuery(selectQuery);
                       
while (resultSet.next()) {
                               
// Didplaying data of tables
                               
System.out.println("Roll No " + resultSet.getInt("RollNo")
                                               
+ ", Name " + resultSet.getString("Name") + ", Course "
                                               
+ resultSet.getString("Course") + ", Address "
                                               
+ resultSet.getString("Address"));
                       
}
               
} catch (Exception e) {
                       
System.out.println(e.toString());
               
} finally {
                       
// Closing connection
                        resultSet
.close();
                        statement
.close();
                        connection
.close();
               
}
       
}
}

'Programming > JAVA,JSP' 카테고리의 다른 글

JAVA 삽입 정렬  (0) 2013.03.03
JAVA JTABLE 사용 예제  (0) 2013.03.03
JAVA 데이터베이스 실습 예제 UI  (0) 2013.02.24
JAVA JDBC 튜토리얼 예제 사이트  (0) 2013.02.24
JAVA 채팅 프로그램 + GUI  (0) 2013.02.23

JAVA 가계부 프로그램

실습과제 모음 2013. 3. 2. 10:39 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

'실습과제 모음' 카테고리의 다른 글

JAVA 실습과제 0303 ~ 0309  (0) 2013.03.03
실습  (0) 2013.03.02
JAVA 직원 관리 프로그램 작성  (0) 2013.03.02
JAVA 계산기 실습 중간코드  (0) 2013.02.16
C 언어 실습문제 모음  (0) 2013.01.09

JAVA 직원 관리 프로그램 작성

실습과제 모음 2013. 3. 2. 09:52 Posted by TanSanC
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

#1 레이아웃 

#2 DB

데이터베이스 생성

CREATE DATABASE staff_db;

USE staff_db;


테이블 생성

CREATE TABLE staffs(

staff_id INT NOT NULL auto_increment,

name VARCHAR(30),

phone_number VARCHAR(20),

PRIMARY KEY(staff_id)

);


레코드 추가하기

INSERT INTO staffs( name, phone_number )

VALUES('홍길동', '010-1234-5678');


레코드 수정하기

UPDATE staffs SET phone_number = '010-5678-1234' WHERE name LIKE '홍길동';

이름이 홍길동인 레코드의 전화번호를 수정


UPDATE staffs SET phone_number = '010-5678-1234' WHERE staff_id LIKE 1;

사번이 1 인 레코드의 전화번호를 수정


레코드 삭제하기


DELETE FROM staffs WHERE name LIKE '홍길동';

이름이 홍길동인 레코드 삭제


DELETE FROM staffs WHERE staff_id LIKE 1;

사번이 1인 레코드 삭제


레코드 조회하기


SELECT * FROM staffs;

staffs 의 모든 레코드 조회


SELECT * FROM staffs WHERE staff_id LIKE 1;

사번이 1인 레코드 조회


#3

DB 연결 함수



 

    public static Connection makeConnection()

    {

          String url = "jdbc:mysql://localhost/staff_db";

          String id = "root";

          String password = "green";

          Connection con = null;

          try {

                 Class.forName("com.mysql.jdbc.Driver");

                 System.out.println("드라이버 적재 성공");

                 con = DriverManager.getConnection(url, id, password);

                 System.out.println("데이터베이스 연결 성공");

          } catch (ClassNotFoundException e) {

                 System.out.println("드라이버를 찾을 없습니다.");

          } catch (SQLException e) {

                 System.out.println("연결에 실패하였습니다.");

          }

          return con;

    }

'실습과제 모음' 카테고리의 다른 글

실습  (0) 2013.03.02
JAVA 가계부 프로그램  (0) 2013.03.02
JAVA 계산기 실습 중간코드  (0) 2013.02.16
C 언어 실습문제 모음  (0) 2013.01.09
CPP 실습과제 1208  (0) 2012.12.08