とほー最近まじめに仕事しすぎだよー
休みぐらいはりらーくすしてマンガ買いにいこー
「ハヤテブレード」の2巻が出ていたりした。「タマラセ」の2巻は2月に出るのかな~
そんなことはともかくJTableです。.net FrameworkでいうところのDataGridです。
このコンポーネントがどれくらい便利かは使った人だけが分かります。
基本的にはデータのビューに使います。VB.netではこんな感じ
Dim dt As New DataTable()
Dim dc(2) As DataColumn
dc(0) = New DataColumn(“No”)
dc(1) = New DataColumn(“Name”)
dc(2) = New DataColumn(“Comment”)
Dim i As Integer
For i = LBound(dc) To UBound(dc)
dt.Columns.Add(dc(i))
Next
Dim row As DataRow = dt.NewRow
row(0) = “1”
row(1) = “Mizuho Kazami”
row(2) = “すごくイイ”
dt.Rows.Add(row)
dataGrid.DataSource = dt
かなり省いていますけど雰囲気は伝わりますか?
それではJavaは..と簡単な方法にDefaultTableModelクラスを使うと
良いのですがAbstractTableModelを使うとより細かく作り込めます。
datasというStringの2次元配列にデータがあるとします。
data[0][0] = “1”;
data[0][1] = “Miduho Kazami”;
data[0][2] = “すごくイイ”;
行ヘッダ部分はStringの1次配列をheaderという変数にして
“No”,”Name”,”Comment”とデータを入れます。
TableModel model = new AbstractTableModel() {
public int getColumnCount(){ return header.length; }
public int getRowCount(){ return data[].length; }
public Object getValueAt(int row, int col){ return datas[row][col]; }
public String getColumnName(int column){ return header_[column].toString(); }
public Class getColumnClass(int c){ getValueAt(0, c).getClass(); }
public boolean isCellEditable(int row, int col) { return col != 0; }
public void setValueAt(Object aValue, int row, int column) {
datas[row][column] = aValue;
}
};
JTable table = new JTable(model);
な感じですね。私はisCellEditableが使いたかっただけなんですが。
誤字っていたらゴメンナサイ。JavaSDKのDemoはとても参考になります。
あっドレミのDVDも発売してたっけ!重要ダ!買いにいこ
コメントを残す