JTableとはどんなもの?


テーブルは、比較的複雑なコンポーネントの中で、もっとも汎用性の高いものでしょう。表関係のデータを扱う際には必須のものといえます。このテーブルのコンポーネントとしてSwingに用意されているのが「JTable」というものです。

このJTableは、ただテーブルを表示するだけならば非常に簡単に使うことができます。ただ、インスタンスを作って組み込むだけです。ただし、JTable自体には、スクロール表示などの機能がないため、利用の際にはスクロールバーを表示する「JScrollPane」と併用するのが一般的です。

package jp.allabout;

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

public class SampleApp extends JFrame {
  JTable table;
  JScrollPane scroll;

  public SampleApp(){
    this.setSize(new Dimension(300,200));
    this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    table = new JTable(10,5);
    scroll = new JScrollPane(table);
    this.add(scroll,BorderLayout.CENTER);
  }
  
  public static void main(String[] args) {
    new SampleApp().setVisible(true);
  }
  
}

JTableを、JScrollPaneに組み込んで表示したところ。

ごく簡単なサンプルをあげておきましょう。ここでは、JFrameにJScrollPaneを組み込み、更にこの中にJTableを組み込んでいます。JTableの使い方としてはもっとも基本的なものといえるでしょう。

JTableのもっとも単純な利用の仕方は、「表の縦横の行数、列数を指定してインスタンスを作る」という方法です。JTableはテーブルを表示するものですから、表示するテーブルの行数、列数がわからないとどうしようもありません。そこで、

new JTable( 行数 , 列数 );


このようにして表の大きさを指定してインスタンスを作成します。またJScrollPaneは、中に組み込むコンポーネントを引数に指定してインスタンスを作成します。

new JScrollPane( コンポーネント );


これで、そのコンポーネントを内部に組み込んで表示します。このコンポーネントが、組み込んである領域より大きくなると、自動的にスクロールバーを表示してスクロール表示できるようになります。