Java Swing中JTable的使用
來源:互聯網
上載者:User
寫資料庫的大作業,難免牽涉到JTable,說一些使用JTable的心得:JTable的資料來源是一個叫做DefaultTableModel的對象,在JTable建立時即可綁定: DefaultTableModel model=new DefaultTableModel();JTable table=new JTable(model); 也可在後期使用setModel函數設定: table.setModel(model); JTable的所有元素操作可在DefaultTableModel中完成,例如:加入一列元素:model.addColumn("列名");該函數還有一個重載,就是model.addColumn("列名",Object[]);可以將一個object數組以一列加入model中;DefaultTableModel也支援逐行的加入,有兩個函數重載:addRow(Object[]),addRow(Vector);函數會將數組或vector中的元素自動對應到column 修改表中元素:setValueAt(Object a,int row,int column);刪除一行:removeRow(int row); 這次做作業,遇到了幾個問題,說下解決方案,估計都會遇到:1.列名無法顯示 如果直接將JTable加入一個container中,它的列名是不會顯示的,必須將一個包含JTable的JScrollPane加入container,列名才會正確顯示使用方法: DefaultTableModel model=new DefaultTableModel();JTable table=new JTable(model);this.getContentPane().add(new JScrollPane(table)); this是一個JFrame,或者其他container,如JPanel 2.當想用這塊地方顯示另一個表的內容時,已加入的列名無法刪除 我曾經嘗試在DefaultTableModel中尋找removeAll函數,失敗了,最後,還是使用了比較無奈的方法...new一個DefaultTableModel ,修改JTable的model綁定樣本:table.removeAll();DefaultTableModel model=new DefaultTableModel();
table.setModel(model);
model.addColumn("房間號");
model.addColumn("房間IP");