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);

}

}

資料來源