JTable隱藏某一列(ID),顯示其他資料
阿新 • • 發佈:2018-11-14
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給隱藏了~