자바(Java)/JAVA 2SE

TableModel 를 사용하여 구구단 출력하는 프로그램

본클라쓰 2010. 9. 3. 21:36

 

 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;
    }
}

 

[위 코드의 실행 파일]

ShowMulitplication.jar

 

ShowMulitplication.jar
0.0MB

'자바(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