タイトル
 メニューにないコーナーはTopからいけます
TOPJavaSwingJTable → This Page

JTable@Swing サンプル01

概要

Java - Swing - JTable のサンプルです。
・色々なコンストラクタ

解説

色々なコンストラクタでテーブル(表)を作成します。
テーブル(表)1は引数なしコンストラクタで作成、
テーブル(表)2は行数、列数を指定して作成、
テーブル(表)3は配列オブジェクトで作成、
テーブル(表)4はデフォルトデータモデルで作成、
テーブル(表)5はデフォルトデータモデルとデフォルトテーブルカラムモデルで作成、
テーブル(表)6はデフォルトデータモデルとデフォルトテーブルカラムモデル、デフォルト選択モデルで作成、
テーブル(表)7はベクターで作成しています。

データモデル を作成にするは DefaultTableModel クラスを使います。
コンストラクタ/説明引数引数説明
DefaultTableModel()
列が0、行が0のデフォルトの DefaultTableModel を作成
- -
DefaultTableModel(int rowCount, int columnCount)
空のセルの rowCount と columnCount で DefaultTableModel を生成
rowCount 行数
columnCount 列数
DefaultTableModel(Object[][] data, Object[] columnNames)
2 次元配列 data の値を表示する DefaultTableModel を、列名 columnNames で生成
data 2 次元配列データ
columnNames 列名
DefaultTableModel(Object[] columnNames, int rowCount)
columnNames にある要素と同じ数の列、および rowCount の空のセルで DefaultTableModel を生成
columnNames 列名
rowCount 行数
DefaultTableModel(Vector columnNames, int rowCount)
columnNames にある要素と同じ数の列、および rowCount の空のセルで DefaultTableModel を生成
columnNames 列名
rowCount 行数
DefaultTableModel(Vector data, Vector columnNames)
Vector の data の値を表示する DefaultTableModel を、列名 columnNames で生成
data データ
columnNames 列名


テーブルカラムモデル を作成にするは DefaultTableColumnModel クラスを使います。
コンストラクタ/説明引数引数説明
DefaultTableColumnModel()
デフォルトのテーブル列モデルを作成
- -


選択モデル を作成にするは DefaultListSelectionModel クラスを使います。
コンストラクタ/説明引数引数説明
DefaultListSelectionModel()
デフォルトの選択モデルを作成
- -


サンプルイメージ

サンプル画像


サンプルソース

import java.awt.Dimension;
import java.util.Vector;

import javax.swing.DefaultListSelectionModel;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableColumnModel;
import javax.swing.table.DefaultTableModel;
import javax.swing.table.TableColumn;

/**
 * JTable サンプル01
 * ・色々なコンストラクタ
 * 
 * @author みっちー
 */
public class JTable01 extends JFrame {
	
	private static final long serialVersionUID = 1L;
	
	/**
	 * 開始メソッド
	 * 
	 * @param args	パラメータ
	 */
	public static void main(String[] args) {
		JTable01 frame = new JTable01();
		
		// 閉じるボタンをクリックされた場合の動作を設定
		frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
		
		// ウインドウのタイトルを設定
		frame.setTitle("JTable サンプル01");
		
		// フレームの X座標、Y座標、幅、高さを設定
		frame.setBounds(100, 200, 600, 320);
		
		// フレームを表示(これをしないと透明のフレームが立ち上がってしまう)
		frame.setVisible(true);
	}
	
	/**
	 * コンストラクタ
	 */
	public JTable01() {
		// パネルを作成
		JPanel panelBase = new JPanel();
		
		// 配列を作成
		String[][] arrayData = {
				{ "1", "Taro", "22" },
				{ "2", "Hanako", "18" },
				{ "3", "Jiro", "21" }
			};
		String[] arrayColumn = { "id", "name", "age" };
		
		// ベクターを作成
		Vector<Vector<String>> vectorData = new Vector<Vector<String>>();
		Vector<String> vector1 = new Vector<String>();
		Vector<String> vector2 = new Vector<String>();
		Vector<String> vector3 = new Vector<String>();
		vector1.add("1");
		vector1.add("Taro");
		vector1.add("22");
		vector2.add("2");
		vector2.add("Hanako");
		vector2.add("18");
		vector3.add("3");
		vector3.add("Jiro");
		vector3.add("21");
		vectorData.add(vector1);
		vectorData.add(vector2);
		vectorData.add(vector3);
		Vector<String> vectorColumn = new Vector<String>();
		vectorColumn.add("id");
		vectorColumn.add("name");
		vectorColumn.add("age");
		
		// テーブルモデルを生成
		DefaultTableModel tm1 = new DefaultTableModel(arrayData, arrayColumn);
		DefaultTableModel tm2 = new DefaultTableModel(arrayData, arrayColumn);
		DefaultTableModel tm3 = new DefaultTableModel(arrayData, arrayColumn);
		
		// テーブルカラムモデルを生成
		DefaultTableColumnModel tcm2 = new DefaultTableColumnModel();
		tcm2.addColumn(new TableColumn(0));
		tcm2.addColumn(new TableColumn(1));
		tcm2.addColumn(new TableColumn(2));
		DefaultTableColumnModel tcm3 = new DefaultTableColumnModel();
		tcm3.addColumn(new TableColumn(0));
		tcm3.addColumn(new TableColumn(1));
		tcm3.addColumn(new TableColumn(2));
		
		// 選択デモルを生成
		DefaultListSelectionModel lsm = new DefaultListSelectionModel();
		
		// 表を作成
		JTable table1 = new JTable();
		JTable table2 = new JTable(3, 4);
		JTable table3 = new JTable(arrayData, arrayColumn);
		JTable table4 = new JTable(tm1);
		JTable table5 = new JTable(tm2, tcm2);
		JTable table6 = new JTable(tm3, tcm3, lsm);
		JTable table7 = new JTable(vectorData, vectorColumn);
		
		// スクロールパネルを作成し、表を追加
		JScrollPane sp1 = new JScrollPane(table1);
		JScrollPane sp2 = new JScrollPane(table2);
		JScrollPane sp3 = new JScrollPane(table3);
		JScrollPane sp4 = new JScrollPane(table4);
		JScrollPane sp5 = new JScrollPane(table5);
		JScrollPane sp6 = new JScrollPane(table6);
		JScrollPane sp7 = new JScrollPane(table7);
		sp1.setPreferredSize(new Dimension(250, 60));
		sp2.setPreferredSize(new Dimension(250, 60));
		sp3.setPreferredSize(new Dimension(250, 60));
		sp4.setPreferredSize(new Dimension(250, 60));
		sp5.setPreferredSize(new Dimension(250, 60));
		sp6.setPreferredSize(new Dimension(250, 60));
		sp7.setPreferredSize(new Dimension(250, 60));
		
		// スクロールパネルを追加
		panelBase.add(sp1);
		panelBase.add(sp2);
		panelBase.add(sp3);
		panelBase.add(sp4);
		panelBase.add(sp5);
		panelBase.add(sp6);
		panelBase.add(sp7);
		
		// パネルを追加
		getContentPane().add(panelBase);
	}
}

サンプルソースのダウンロード

ソースのダウンロード(Eclipse用のプロジェクトファイルも同梱)

更新履歴

2016/05/13 新規作成


TOPJavaSwingJTable → This Page
Valid CSS!