Guest User

Untitled

a guest
Apr 22nd, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.16 KB | None | 0 0
  1. private void updateTable() {
  2. try {
  3. Class.forName("com.mysql.jdbc.Driver");
  4. Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/librarymanagement", "root", "santosh123");
  5. PreparedStatement ps = con.prepareStatement("select uid, photo, username, firstName, lastName, email, Mob_no, DOB, address, Gender, Usertype from users where Usertype='Admin'");
  6. ResultSet rs = ps.executeQuery();
  7.  
  8. table = new JTable(buildTableModel(rs));
  9. table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
  10. table.setFillsViewportHeight(true);
  11. table.setRowHeight(25);
  12. JTableHeader header = table.getTableHeader();
  13. header.setFont(new Font("Tahoma", Font.BOLD, 14));
  14.  
  15. final TableColumnModel columnModel = table.getColumnModel();
  16. for (int column = 0; column < table.getColumnCount(); column++) {
  17. int width = 15; // Min width
  18. for (int row = 0; row < table.getRowCount(); row++) {
  19. TableCellRenderer renderer = table.getCellRenderer(row, column);
  20. Component comp = table.prepareRenderer(renderer, row, column);
  21. width = Math.max(comp.getPreferredSize().width +1 , width);
  22. }
  23. if(width > 300)
  24. width=300;
  25. columnModel.getColumn(column).setPreferredWidth(width);
  26. }
  27.  
  28. DefaultTableCellRenderer centerRenderer = new DefaultTableCellRenderer();
  29. centerRenderer.setHorizontalAlignment( JLabel.RIGHT );
  30. table.setDefaultRenderer(String.class, centerRenderer);
  31.  
  32. DefaultTableCellRenderer renderer = new DefaultTableCellRenderer(){
  33. @Override
  34. public Component getTableCellRendererComponent(JTable arg0,Object arg1, boolean arg2, boolean arg3, int arg4, int arg5) {
  35. Component tableCellRendererComponent = super.getTableCellRendererComponent(arg0, arg1, arg2, arg3, arg4, arg5);
  36. int align = DefaultTableCellRenderer.LEFT;
  37. if(align == DefaultTableCellRenderer.LEFT){
  38. align = DefaultTableCellRenderer.CENTER;
  39. }
  40. ((DefaultTableCellRenderer)tableCellRendererComponent).setHorizontalAlignment(align);
  41. return tableCellRendererComponent;
  42. }
  43. };
  44.  
  45. for(int i = 0; i < rs.getMetaData().getColumnCount(); i++)
  46. {
  47. table.getColumnModel().getColumn(+i).setCellRenderer(renderer);
  48. }
  49.  
  50. scrollPane = new JScrollPane(table);
  51. scrollPane.setBounds(10, 80, 1165, 400);
  52. scrollPane.setBackground(new Color(144, 202, 249));
  53. scrollPane.setBorder(BorderFactory.createLineBorder(Color.BLACK, 1, true));
  54. scrollPane.setHorizontalScrollBarPolicy(JScrollPane.HORIZONTAL_SCROLLBAR_AS_NEEDED);
  55. scrollPane.setVerticalScrollBarPolicy(JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED);
  56. getContentPane().add(scrollPane);
  57.  
  58.  
  59.  
  60. // Closes the Connection
  61. rs.close();
  62. ps.close();
  63. con.close();
  64.  
  65. }
  66. catch (Exception e) {
  67. e.printStackTrace();
  68. }
  69.  
  70. }
  71.  
  72. public static DefaultTableModel buildTableModel(ResultSet rs)
  73. throws SQLException {
  74.  
  75. ResultSetMetaData metaData = rs.getMetaData();
  76.  
  77. // names of columns
  78. Vector<String> columnNames = new Vector<String>();
  79. String[] header = {"UID", "DP", "Username", "First Name", "Last Name", "Email", "Mob", "DOB", "Address", "Gender", "Usertype"};
  80. columnNames.addAll(Arrays.asList(header));
  81.  
  82. int columnCount = metaData.getColumnCount();
  83.  
  84.  
  85. // data of the table
  86. Vector<Vector<Object>> data = new Vector<Vector<Object>>();
  87. while (rs.next()) {
  88. Vector<Object> vector = new Vector<Object>();
  89. for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
  90. if(columnIndex == 2)
  91. {
  92. ImageIcon icon = new ImageIcon("Images/ProfilePictures/"+rs.getObject(columnIndex));
  93.  
  94. vector.addElement(icon);
  95. }
  96. else
  97. {
  98. vector.add(rs.getObject(columnIndex));
  99. }
  100. }
  101. data.add(vector);
  102. }
  103.  
  104.  
  105. return new DefaultTableModel(data, columnNames);
  106.  
  107. }
  108. }
Add Comment
Please, Sign In to add comment