1. 程式人生 > >JTable隱藏某一列(ID),顯示其他資料

JTable隱藏某一列(ID),顯示其他資料

public Object[][] showAll() {

    db = ds.getAll();//通過service-dao從資料庫拿到資料

    data = new Object[db.size()][Names.length];

    for (int i = 0; i < db.size(); i++) {

        for (int j = 0; j < Names.length; j++) {

            data[i][0] = db.get(i).getName();

	    data[i][1] = db.get(i).getAccounts();
	    data[i][2] = db.get(i).getPwd();
	    data[i][3] = db.get(i).getId();//ID用於查詢,不顯示,使用removeColumn方法隱藏列
		}
	}
	return data;
}

---------------------------------------------------------------------

                /*
		 * 查詢所有資料顯示到table
		 */
		dtm = new DefaultTableModel(showAll(), Names);
		DefaultTableCellRenderer r = new DefaultTableCellRenderer();// 設定文字居中顯示
		r.setHorizontalAlignment(JLabel.CENTER);


		JScrollPane scrollPane = new JScrollPane();
		scrollPane.setBounds(25, 13, 705, 388);
		frame.getContentPane().add(scrollPane);


		table_1 = new JTable();
		scrollPane.setViewportView(table_1);
		table_1.setFont(new Font("Adobe Caslon Pro", Font.PLAIN, 18));


		table_1.setModel(dtm);
		TableColumnModel tcm = table_1.getColumnModel();
		TableColumn tc = tcm.getColumn(3);//ID排在陣列的第3位
		table_1.removeColumn(tc);//隱藏某列
		table_1.setDefaultRenderer(Object.class, r);
		table_1.setRowHeight(30);// 設定行高30畫素
完成大概就這樣了(自己做著練習的,過於簡陋請無視)


如圖,只顯示了網站、帳號、密碼,ID給隱藏了~