TOP →
Java →
Swing →
JTable → This Page
JTable@Swing サンプル11
概要
Java -
Swing -
JTable のサンプルです。
・行の移動
解説
行の移動のサンプルです。
複数行をいっきに移動できます。
サンプルイメージ
行移動前。
行移動後。
3行目から5行目を先頭に移動しています。
サンプルソース
import java.awt.Dimension;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTable;
import javax.swing.table.DefaultTableModel;
/**
* JTable サンプル11
* ・行の移動
*
* @author みっちー
*/
public class JTable11 extends JFrame implements ActionListener {
private static final long serialVersionUID = 1L;
private DefaultTableModel tm;
/**
* 開始メソッド
*
* @param args パラメータ
*/
public static void main(String[] args) {
JTable11 frame = new JTable11();
// 閉じるボタンをクリックされた場合の動作を設定
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
// ウインドウのタイトルを設定
frame.setTitle("JTable サンプル11");
// フレームの X座標、Y座標、幅、高さを設定
frame.setBounds(100, 200, 320, 200);
// フレームを表示(これをしないと透明のフレームが立ち上がってしまう)
frame.setVisible(true);
}
/**
* コンストラクタ
*/
public JTable11() {
// パネルを作成
JPanel panelBase = new JPanel();
// 配列を作成
String[][] arrayData = {
{ "1", "Taro", "22" },
{ "2", "Hanako", "18" },
{ "3", "Jiro", "21" },
{ "4", "Yuko", "16" },
{ "5", "Takeshi", "12" }
};
String[] arrayColumn = { "id", "name", "age" };
// テーブルモデルを生成
tm = new DefaultTableModel(arrayData, arrayColumn);
// 表を作成
JTable table = new JTable(tm);
// スクロールパネルを作成し、表を追加
JScrollPane sp = new JScrollPane(table);
sp.setPreferredSize(new Dimension(250, 110));
// ボタンを作成
JButton button = new JButton("Move Row");
// アクションリスナー追加
button.addActionListener(this);
// スクロールパネル、ボタンを追加
panelBase.add(sp);
panelBase.add(button);
// パネルを追加
getContentPane().add(panelBase);
}
/**
* アクション
*/
public void actionPerformed(ActionEvent e) {
// 行の移動
// Index 2 から 4 の行を Index 0 へ移動
tm.moveRow(2, 4, 0);
}
}
サンプルソースのダウンロード
ソースのダウンロード(Eclipse用のプロジェクトファイルも同梱)
更新履歴
2016/05/13 新規作成
TOP →
Java →
Swing →
JTable → This Page