관리 메뉴

nkdk의 세상

테이블에 그림을 넣고 싶으십니까? 정렬을? 패널을? 본문

My Programing/JAVA

테이블에 그림을 넣고 싶으십니까? 정렬을? 패널을?

nkdk 2008. 3. 8. 01:23
디폴트 모델로는 안 들어가죠?

import java.awt.*;
import java.util.*;

import javax.swing.*;

import javax.swing.table.*;

public class EditableColumn {
public static void main(String args[]) {
TableModel model = new AbstractTableModel() {
Icon icon1 = new ImageIcon("TreeCollapsed.gif");

Icon icon2 = new ImageIcon("TreeExpanded.gif");

Object rowData[][] = {
{ new Integer(1), "ichi", Boolean.TRUE,
new Date("01/01/2000"), icon1 },
{ new Integer(2), "ni", Boolean.TRUE,
new Date("04/15/1999"), icon2 },
{ new Integer(3), "san", Boolean.FALSE,
new Date("12/07/1941"), icon2 },
{ new Integer(4), "shi", Boolean.TRUE,
new Date("02/29/2000"), icon1 },
{ new Integer(5), "go", Boolean.FALSE,
new Date("05/23/1995"), icon1 }, };

// String columnNames[] = { "English", "Japanese", "Boolean", "Date",
// "ImageIcon" };
// Object aaa[][] = { {new Integer(333), {"dasdlasd"}} };



public int getColumnCount() {
// return columnNames.length;
return 4;
}

public String getColumnName(int column) {
// return columnNames[column];
return null;
}

public int getRowCount() {
return rowData.length;
}

public Object getValueAt(int row, int column) {
return rowData[row][column];
}

public Class getColumnClass(int column) {
System.out.println(getValueAt(0, column).getClass());
return (getValueAt(0, column).getClass());
}

public void setValueAt(Object value, int row, int column) {
rowData[row][column] = value;
// aaa[row][column] = value;

}

public boolean isCellEditable(int row, int column) {
// return (column != 4);
boolean sw = false;
if(column == 2)
sw = true;
return sw;
}
};

JFrame frame = new JFrame("AbstractModel Test");
JTable table = new JTable(model);
JScrollPane scrollPane = new JScrollPane(table);
frame.getContentPane().add(scrollPane, BorderLayout.CENTER);
frame.setSize(400, 150);
frame.setVisible(true);
}
}

이렇게 하시면 됩니다. ^_^