JTable
範例一
public class TableStep1 {
public static void main(String[] args) {
// Step 1: 設定每一個資料的項目
String [] headings= new String[] {"序號","狀態","單位","日期","權重"};
// Step 2: 指定要顯示在表格中的資料
Object[][] data = new Object[][] {
{"1",Boolean.FALSE,"井民全","交通大學 ","02/06/2000",new Float(1)},
{"2",Boolean.TRUE,"小山","清華大學 ","02/07/2000",new Float(2)}
};
// Step 3: 建立 Table
javax.swing.JTable table=new javax.swing.JTable(data,headings);
// 建立一個 Frame 秀出表格
javax.swing.JFrame MyFrame=new javax.swing.JFrame("TableStep1 表格測試");
MyFrame.setSize(500,200);
MyFrame.setLocation(200,200);
MyFrame.getContentPane().add(new javax.swing.JScrollPane(table));
MyFrame.setVisible(true);
}
}
範例二
package tablestep2;
public class TableStep2 {
public static class ShipTableModel extends javax.swing.table.AbstractTableModel{
// Step 1: 設定每一個資料的項目
private String [] headings= new String[] {"序號","狀態","單位","日期","權重"};
// Step 2: 指定要顯示在表格中的資料
private Object[][] data = new Object[][] {
{"1",Boolean.FALSE,"井民全","交通大學 ","02/06/2000",new Float(1)},
{"2",Boolean.TRUE,"小山","清華大學 ","02/07/2000",new Float(2)}
};
// Step 3: 一定要實作的 method
public int getRowCount() { return data.length; }
public int getColumnCount() {return data[0].length;}
public Object getValueAt(int row,int column){
return data[row][column];
}
// 根據內容類別產生相對應的元件
public Class getColumnClass(int Column){
return data[0][Column].getClass();
}
}// end of 表格模型類別
public static void main(String args[]){
// 建立 table 使用自訂的Model
javax.swing.JTable table=new javax.swing.JTable(new ShipTableModel());
table.setAutoResizeMode(javax.swing.JTable.AUTO_RESIZE_OFF); // 這是 resize table 試試看
// 建立新的 frame 來裝 table
javax.swing.JFrame myFrame=new javax.swing.JFrame("自訂表格測試");
myFrame.setSize(500,200);
myFrame.setLocation(200,200);
// 把 table 放進去
myFrame.getContentPane().add(new javax.swing.JScrollPane(table));
myFrame.setVisible(true);
}
}