Advertisement
nguyenvanquan7826

load data to JTable

May 8th, 2014
539
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.97 KB | None | 0 0
  1. package nguyenvanquan7826.database;
  2.  
  3. import java.awt.BorderLayout;
  4. import java.awt.GridLayout;
  5. import java.awt.event.ActionEvent;
  6. import java.awt.event.ActionListener;
  7. import java.sql.ResultSet;
  8. import java.sql.ResultSetMetaData;
  9. import java.sql.SQLException;
  10.  
  11. import javax.swing.JButton;
  12. import javax.swing.JFrame;
  13. import javax.swing.JLabel;
  14. import javax.swing.JPanel;
  15. import javax.swing.JScrollPane;
  16. import javax.swing.JTable;
  17. import javax.swing.border.EmptyBorder;
  18. import javax.swing.event.ListSelectionEvent;
  19. import javax.swing.event.ListSelectionListener;
  20. import javax.swing.table.DefaultTableModel;
  21.  
  22. public class MyFrame extends JFrame {
  23.  
  24.     private JTable table;
  25.     MyConnect myConnect = new MyConnect();
  26.  
  27.     public MyFrame() {
  28.         // add main panel to JFrame
  29.         add(createMainPanel());
  30.  
  31.         // connect database
  32.         myConnect.connect();
  33.  
  34.         // set dipslay
  35.         setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  36.         pack();
  37.         setLocationRelativeTo(null);
  38.         setVisible(true);
  39.     }
  40.  
  41.     // create main panel
  42.     private JPanel createMainPanel() {
  43.         JPanel panel = new JPanel(new BorderLayout());
  44.         panel.add(createTitlePanel(), BorderLayout.PAGE_START);
  45.         panel.add(createTablePanel(), BorderLayout.CENTER);
  46.         panel.add(createButtonPanel(), BorderLayout.PAGE_END);
  47.         return panel;
  48.     }
  49.  
  50.     // create title panel
  51.     private JPanel createTitlePanel() {
  52.         JPanel panel = new JPanel();
  53.         JLabel lbTitle = new JLabel("Connect Database");
  54.         panel.add(lbTitle);
  55.         return panel;
  56.     }
  57.  
  58.     // create table panel
  59.     private JPanel createTablePanel() {
  60.         JPanel panel = new JPanel();
  61.         panel.add(new JScrollPane(table = createTabel()));
  62.         return panel;
  63.     }
  64.  
  65.     // create button panel
  66.     private JPanel createButtonPanel() {
  67.         JPanel panel = new JPanel(new GridLayout(1, 3, 5, 5));
  68.         panel.setBorder(new EmptyBorder(5, 50, 10, 50));
  69.         panel.add(createButton("Add"));
  70.         panel.add(createButton("Update"));
  71.         panel.add(createButton("Delete"));
  72.         return panel;
  73.     }
  74.  
  75.     // create a table
  76.     private JTable createTabel() {
  77.         JTable table = new JTable();
  78.         return table;
  79.     }
  80.  
  81.     // create a button
  82.     private JButton createButton(String text) {
  83.         JButton btn = new JButton(text);
  84.         return btn;
  85.     }
  86.  
  87.     private void loadData() {
  88.         // create table model
  89.         DefaultTableModel model = new DefaultTableModel();
  90.  
  91.         // get data from database
  92.         ResultSet rs = myConnect.getData();
  93.         try {
  94.  
  95.             // load column name
  96.             ResultSetMetaData rsMD = rs.getMetaData();
  97.             int colNumber = rsMD.getColumnCount();
  98.             String[] arr = new String[colNumber];
  99.             for (int i = 0; i < colNumber; i++) {
  100.                 arr[i] = rsMD.getColumnName(i + 1);
  101.             }
  102.  
  103.             model.setColumnIdentifiers(arr);
  104.  
  105.             // load data from database to table
  106.             while (rs.next()) {
  107.                 for (int i = 0; i < colNumber; i++) {
  108.                     arr[i] = rs.getString(i + 1);
  109.                 }
  110.                 model.addRow(arr);
  111.             }
  112.  
  113.         } catch (SQLException e) {
  114.         }
  115.         table.setModel(model);
  116.     }
  117.  
  118.     public static void main(String[] args) {
  119.         MyFrame myFrame = new MyFrame();
  120.         myFrame.loadData();
  121.     }
  122. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement