Advertisement
Nickpips

GUI.java

Apr 20th, 2016
158
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.47 KB | None | 0 0
  1. package icecream;
  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.Connection;
  8. import java.sql.ResultSet;
  9. import java.sql.SQLException;
  10. import java.sql.Statement;
  11.  
  12. import javax.swing.BorderFactory;
  13. import javax.swing.JButton;
  14. import javax.swing.JComboBox;
  15. import javax.swing.JFrame;
  16. import javax.swing.JLabel;
  17. import javax.swing.JScrollPane;
  18. import javax.swing.JTable;
  19. import javax.swing.JTextField;
  20. import javax.swing.SwingConstants;
  21. import javax.swing.SwingUtilities;
  22.  
  23. public class GUI implements ActionListener {
  24.     JFrame menu = new JFrame("Ice Cream Parlor");
  25.     JFrame orders = new JFrame("Orders");
  26.     JFrame orderEntry = new JFrame("Order Entry");
  27.     JTextField fname = new JTextField();
  28.     JTextField lname = new JTextField();
  29.     Connection con = null;
  30.     Statement st = null;
  31.     Database db = null;
  32.  
  33.     public GUI() throws SQLException {
  34.         con = DBConnectionManager.getInstance().getConnection();
  35.  
  36.         db = new Database(con);
  37.        
  38.         try
  39.         {
  40.             db.makeTables();
  41.         } catch( SQLException e)
  42.         {
  43.             System.err.println("ERROR: COULD NOT INITIALIZE TABLES [" + e.getMessage() + "]");
  44.         }
  45.  
  46.         menu.setLayout(new GridLayout(2, 1, 10, 10));
  47.         menu.setBounds(100, 100, 500, 500);
  48.         JButton b1 = new JButton("See Orders");
  49.         b1.addActionListener(this);
  50.         b1.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
  51.         JButton b2 = new JButton("Enter Order");
  52.         b2.addActionListener(this);
  53.         menu.add(b1);
  54.         menu.add(b2);
  55.         menu.setVisible(true);
  56.         menu.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  57.        
  58.         //orderEntry.getContentPane().removeAll();
  59.         orderEntry.setLayout(new GridLayout(3,3));
  60.         orderEntry.setBounds(100, 100, 600, 600);
  61.         orderEntry.add(fname);
  62.         orderEntry.add(lname);
  63.         JComboBox flavors = new JComboBox(new String[]{"Vanilla"});
  64.         orderEntry.add(flavors);
  65.         JComboBox toppings = new JComboBox(new String[]{"Chocolate Syrup"});
  66.         orderEntry.add(toppings);
  67.         JComboBox container = new JComboBox(new String[]{"Cup", "Cone"});
  68.         orderEntry.add(container);
  69.     }
  70.  
  71.     public void showOrders() {
  72.         orders.getContentPane().removeAll();
  73.         orders.setLayout(new BorderLayout());
  74.         orders.setBounds(100, 100, 600, 600);
  75.         ResultSet rs;
  76.         int rows = 0;
  77.  
  78.         String[][] arr = null;
  79.  
  80.         try {
  81.             arr = db.getorders();
  82.         } catch (SQLException e) {
  83.             orders.add(new JLabel("ERROR: COULD NOT ACCESS ORDERS", SwingConstants.CENTER));
  84.             System.err.println("ERROR: COULD NOT ACCESS ORDERS [" + e.getMessage() + "]");
  85.             return;
  86.         }
  87.        
  88.         if (arr == null) {
  89.             orders.add(new JLabel("NO ORDERS YET", SwingConstants.CENTER));
  90.         } else {
  91.             JTable table = new JTable(arr, db.cols) {
  92.                 @Override
  93.                 public boolean isCellEditable(int row, int col) {
  94.                     return false;
  95.                 }
  96.             };
  97.             orders.add(new JScrollPane(table), BorderLayout.CENTER);
  98.         }
  99.        
  100.         orders.setVisible(true);
  101.     }
  102.    
  103.     public void enterOrder()
  104.     {
  105.                
  106.        
  107.         orderEntry.setVisible(true);
  108.     }
  109.  
  110.     public static void main(String[] args) {
  111.         SwingUtilities.invokeLater(new Runnable() {
  112.             public void run() {
  113.                 try {
  114.                     GUI gui = new GUI();
  115.                 } catch (SQLException e) {
  116.                     System.out.println("ERROR: COULD NOT ESTABLISH CONNECTION [" + e.getMessage() + "]");
  117.                 }
  118.             }
  119.         });
  120.     }
  121.  
  122.     @Override
  123.     public void actionPerformed(ActionEvent ae) {
  124.         if (ae.getActionCommand().equals("See Orders")) {
  125.             showOrders();
  126.         } else if (ae.getActionCommand().equals("Enter Order")) {
  127.             enterOrder();
  128.         }
  129.     }
  130. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement