JTable 클래스를 생성할 때 AbstractTableModel 클래스를 상속받아 구현된 클래스를 인자로 전달하여 각 테이블 셀에 데이터를 체울 때 사용한다. AbstractTableModel 클래스는 추상 클래스로 public int getColumnCount(), public int getRowCount(), public Object getValueAt(int row, int col) 메소드를 구현해야 한다.
View 클래스 : showMultiplication
import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTable;
public class ShowMultiplication extends JFrame {
private static final long serialVersionUID = 1L;
private int width = 600;
private int height = 200;
public ShowMultiplication() {
setTitle("Multiplication Table");
setSize(width, height);
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
GetMultiplicationTableModel model = new GetMultiplicationTableModel(2, 9);
JTable table = new JTable(model);
Container content = getContentPane();
content.add(new JScrollPane(table), BorderLayout.CENTER);
}
public static void main(String[] args) {
new ShowMultiplication();
}
}
TableModel 클래스 : GetMultiplicationTableModel
import javax.swing.table.AbstractTableModel;
public class GetMultiplicationTableModel extends AbstractTableModel {
private static final long serialVersionUID = 1L;
private int start;
private int end;
public GetMultiplicationTableModel(int min, int max) {
this.start = min;
this.end = max;
}
@Override
public int getColumnCount() {
// TODO Auto-generated method stub
return end-start+1;
}
@Override
public int getRowCount() {
return 8;
}
@Override
public Object getValueAt(int row, int col) {
int m = row + 2;
int n = start + col;
return n + " * " + m + " = " +n*m;
}
}
[위 코드의 실행 파일]
'자바(Java) > JAVA 2SE' 카테고리의 다른 글
자바 기술의 소개 (0) | 2010.11.29 |
---|---|
자바 어플리케이션의 구성 (0) | 2010.11.28 |
URL 정보와 문서 정보 출력 프로그램 (0) | 2010.09.02 |
사용자 예외 클래스 만들기 (0) | 2010.08.29 |
throws 문 사용법 (0) | 2010.08.29 |