Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- private void updateTable() {
- try {
- Class.forName("com.mysql.jdbc.Driver");
- Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/librarymanagement", "root", "santosh123");
- PreparedStatement ps = con.prepareStatement("select uid, photo, username, firstName, lastName, email, Mob_no, DOB, address, Gender, Usertype from users where Usertype='Admin'");
- ResultSet rs = ps.executeQuery();
- table = new JTable(buildTableModel(rs));
- table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
- table.setFillsViewportHeight(true);
- table.setRowHeight(25);
- JTableHeader header = table.getTableHeader();
- header.setFont(new Font("Tahoma", Font.BOLD, 14));
- final TableColumnModel columnModel = table.getColumnModel();
- for (int column = 0; column < table.getColumnCount(); column++) {
- int width = 15; // Min width
- for (int row = 0; row < table.getRowCount(); row++) {
- TableCellRenderer renderer = table.getCellRenderer(row, column);
- Component comp = table.prepareRenderer(renderer, row, column);
- width = Math.max(comp.getPreferredSize().width +1 , width);
- }
- if(width > 300)
- width=300;
- columnModel.getColumn(column).setPreferredWidth(width);
- }
- DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();
- centerRenderer.setHorizontalAlignment( JLabel.RIGHT );
- table.setDefaultRenderer(String.class, centerRenderer);
- DefaultTableCellRenderer renderer = new DefaultTableCellRenderer(){
- @Override
- public Component getTableCellRendererComponent(JTable arg0,Object arg1, boolean arg2, boolean arg3, int arg4, int arg5) {
- Component tableCellRendererComponent = super.getTableCellRendererComponent(arg0, arg1, arg2, arg3, arg4, arg5);
- int align = DefaultTableCellRenderer.LEFT;
- if(align == DefaultTableCellRenderer.LEFT){
- align = DefaultTableCellRenderer.CENTER;
- }
- ((DefaultTableCellRenderer)tableCellRendererComponent).setHorizontalAlignment(align);
- return tableCellRendererComponent;
- }
- };
- for(int i = 0; i < rs.getMetaData().getColumnCount(); i++)
- {
- table.getColumnModel().getColumn(+i).setCellRenderer(renderer);
- }
- scrollPane = new JScrollPane(table);
- scrollPane.setBounds(10, 80, 1165, 400);
- scrollPane.setBackground(new Color(144, 202, 249));
- scrollPane.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1, true));
- scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
- scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
- getContentPane().add(scrollPane);
- // Closes the Connection
- rs.close();
- ps.close();
- con.close();
- }
- catch (Exception e) {
- e.printStackTrace();
- }
- }
- public static DefaultTableModel buildTableModel(ResultSet rs)
- throws SQLException {
- ResultSetMetaData metaData = rs.getMetaData();
- // names of columns
- Vector<String> columnNames = new Vector<String>();
- String[] header = {"UID", "DP", "Username", "First Name", "Last Name", "Email", "Mob", "DOB", "Address", "Gender", "Usertype"};
- columnNames.addAll(Arrays.asList(header));
- int columnCount = metaData.getColumnCount();
- // data of the table
- Vector<Vector<Object>> data = new Vector<Vector<Object>>();
- while (rs.next()) {
- Vector<Object> vector = new Vector<Object>();
- for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
- if(columnIndex == 2)
- {
- ImageIcon icon = new ImageIcon("Images/ProfilePictures/"+rs.getObject(columnIndex));
- vector.addElement(icon);
- }
- else
- {
- vector.add(rs.getObject(columnIndex));
- }
- }
- data.add(vector);
- }
- return new DefaultTableModel(data, columnNames);
- }
- }
Add Comment
Please, Sign In to add comment