관리 메뉴

nkdk의 세상

테이블에 이미지나 체크 박스 넣기 모델, 뷰 이용 본문

My Programing/JAVA

테이블에 이미지나 체크 박스 넣기 모델, 뷰 이용

nkdk 2008. 3. 8. 01:22
// 테이블에 이미지나 체크 박스를 넣는 법입니다.

package client;

import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.event.*;

public class Demo extends JFrame
{
JTable table;
MyTableModel model;

public Demo(){
super("::Demo::");
Container cp=getContentPane();
model=new MyTableModel();
table=new JTable(model);
cp.add(new JScrollPane(table));

table.setRowHeight(20);
table.setSelectionBackground(Color.yellow);
table.setSelectionForeground(Color.blue);
table.setShowVerticalLines(true);


setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(800,900);
setVisible(true);
}//-----------
public static void main(String[] args)
{
new Demo();
}
}


package client;

import java.awt.*;
import javax.swing.*;
import javax.swing.border.*;
import java.awt.event.*;
/*
테이블 구조의 데이터를 보여주는 컴포넌트.
: 테이블 구조는 가로 세로 크기를 가지는 이차원 배열로 일반적으로 테이블을 다루는 데이터들은
유사한 데이터형을 사용한다.
JTable은 모델로 TableModel을 사용하며, 컨트롤러로는 TableCellRender를 사용한다.
1> 기본 설정의 JTable 만들기
2> 고유한 JTable 만들기
*/


public class JTableDemo2 extends JFrame
{
JTable table; //view
Object data[][]={
{new Integer(1),"홍길동",new ImageIcon("../img/002.gif"),new Boolean(true)},
{new Integer(2),"임꺽정",new ImageIcon("../img/004.gif"),new Boolean(false)},
{new Integer(3),"홍두깨",new ImageIcon("../img/005.gif"),new Boolean(false)},
{new Integer(4),"우라질",new ImageIcon("../img/008.gif"),new Boolean(true)},
{new Integer(5),"나미남",new ImageIcon("../img/009.gif"),new Boolean(false)}
};
//테이블에 디폴트 모델에 들어갈 데이터를 2차원 배열로 할당해준다.

String colNames[]={"사번","이름","이미지","내스타일?"};
//테이블의 헤더로 들어갈 컬럼명을 1차원 배열로..

public JTableDemo2(){
super("::JTableDemo2::");
Container cp=getContentPane();

table=new JTable(data, colNames);
//테이블 객체 생성시 이차원 배열과 컬럼명의 일차원 배열을 인자로 넣어주면
//디폴트 모델에 바로 반영된다.

cp.add(new JScrollPane(table)); //테이블에 스크롤 집어넣기


setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setSize(800,800);
setVisible(true);
}//-----------
public static void main(String[] args)
{
new JTableDemo2();
}
}


// 이 정도입니다.^^