또 보는군요...


[ 다음 글들 ] [ 이어서 글올리기(답하기) ] [ 자바 묻고 답하기 ]

글쓴이 :이종대 1999년 8월 10일 16:02:59

In Reply to: JTable 사용법에 대해.... posted by 이준규 on 1999년 8월 10일 15:36:12:

이건 제가 예전에 했던 프로그램인데
Sun의 자바 튜토리얼에 있는 내용을 수정한 것입니다


import javax.swing.*;
import javax.swing.table.*;


/**
* Description : TableModel SubClass
* @see : DataDown
* @version : 1.0
* @auther : LJD
*/
class ListTableModel extends AbstractTableModel {
private String[] columnNames;
private Object[][] data;


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

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


public String getColumnName(int col) {
return columnNames[col];
}


public Object getValueAt(int row, int col) {
return data[row][col];
}


public Class getColumnClass(int c) {
return getValueAt(0, c).getClass();
}


public boolean isCellEditable(int row, int col) {
if (col > 1) {
return false;
} else {
return true;
}
}


public void setColumnNames(String[] clsColNames) {
columnNames = clsColNames;
}


public void setDatas(Object[][] clsData) {
data = clsData;
}


public void setValueAt(Object value, int row, int col) {
if (data[0][col] instanceof Integer) {
try {
data[row][col] = new Integer((String)value);
} catch (NumberFormatException e) {
System.err.println("User attempted to enter non-integer"
+ " value (" + value
+ ") into an integer-only column.");
}
} else {
data[row][col] = value;
}
}
}


위와같은 클래스를 만들고 main에서


try {
jtabDocList = new JTable();
jtabDocList.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jtabDocList.setCellSelectionEnabled(true);
jtabDocList.setColumnSelectionAllowed(true);
jtabDocList.setName("DocList");
jtabDocList.setShowGrid(false);
jtabDocList.sizeColumnsToFit(JTable.AUTO_RESIZE_ALL_COLUMNS);
} catch (java.lang.Throwable ivjExc) {
handleException(ivjExc);
}


clsColNames라는 배열에 column의 title들을 저장하고
clsData라는 배열에는 실제 data를 저장하고


ListTableModel myModel = new ListTableModel();
myModel.setDatas(clsData);
myModel.setColumnNames(clsColNames);
getDocList().setModel(myModel);
getDocList().updateUI();


위와같이 작성하면 JTable가 완성되어 화면에 나오게 됩니다


도움이 됐기를...



다음 글들:



이어서 글올리기(답하기)

이름:
E-Mail:
제목:
내용:
HTML 태그 포함 여부: HTML 문서일 경우 체크
관련 URL(선택):
URL 제목(선택):
관련 이미지 URL:


[ 다음 글들 ] [ 이어서 글올리기(답하기) ] [ 자바 묻고 답하기 ]