Package User

Source Code of User.UserMain

package User;

import java.awt.CardLayout;
import java.awt.Font;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import java.awt.event.MouseMotionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.Date;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.Timer;

import Expense.ExpensePane;
import Inventory.InventoryPane;
import Inventory.InventoryRecord;
import Login.Button;
import Login.DBHandler;
import Login.User;
import Login.MainFrame;
import Sales.SalePane;
public class UserMain extends JPanel implements ActionListener, MouseListener, MouseMotionListener{
        private JPanel cards;
        private CardLayout cl;
        private BufferedImage bg;
        private Button salesBtn, inBtn, expBtn, usBtn, logBtn;
        private Timer time;
        private int userType;
        private JFrame frame;
        private DBHandler db;
        private JPanel parent;
        private CardLayout mainCards;
        private JFrame mainFrame;
       
        public UserMain(DBHandler db, int userType, String username, ArrayList<User> users, JFrame frame, JPanel parent, CardLayout c){
               
            this.mainFrame =frame;
            this.parent=parent;
            this.mainCards = c;
            cards=new JPanel(cl=new CardLayout());
                this.db=db;
            this.userType = userType;
                this.setLayout(null);
                Date date = new Date();
               
            ArrayList<InventoryRecord> Supplies = getDBinventoryItems();
            int ctr=0;
            for(int i=0; i<Supplies.size(); i++){
              if(Supplies.get(i).getBalance()<=15)
                ctr++;
            }
           
                String[] months={"January", "February", "March", "April","May", "June",
                                "July", "August", "September", "October", "November", "December"};

                JLabel welcome = new JLabel("Welcome " + username +"!");
                JLabel today = new JLabel("Today is: " + months[date.getMonth()]+" "+ date.getDate() + " , " + (date.getYear()+1900));
                Font font = new Font("Calibri", Font.PLAIN, 20);
                try {
                    salesBtn = new Button("images/b1.png", "images/b1a.png", "images/b1.png");
                    inBtn = new Button("images/b2.png", "images/b2a.png", "images/b2.png");
                    expBtn = new Button("images/b3.png", "images/b3a.png", "images/b3.png");
                    usBtn = new Button("images/b5.png", "images/b5a.png", "images/b5.png");
                    logBtn = new Button("images/b7.png", "images/b7a.png", "images/b7.png");
                   
                    switch(userType){
                    case 4: bg=ImageIO.read(new File("images/main2.png"));
                                   
                            JLabel prod = new JLabel("You have " + ctr+ " products/s that are low in supply");
                                    prod.setFont(font);
                                    prod.setBounds(145, 240, 500, 100 );
                                    this.add(prod);
                                    break;
                    case 3: bg=ImageIO.read(new File("images/main1.png"));
                            JLabel prod2 = new JLabel("You have " + ctr+" products/s that are low in supply");
                            prod2.setFont(font);
                            prod2.setBounds(145, 240, 500, 100 );
                            this.add(prod2);
                            break;
                    case 5: bg=ImageIO.read(new File("images/main3.png"));
                    }
                   
            } catch (IOException e) {
                    System.out.print("Image not found");
                    e.printStackTrace();
            }
                welcome.setFont(font);
                today.setFont(font);
               
                welcome.setBounds(145, 145, 500, 100);
                today.setBounds(145, 185, 500, 100);
                cards.add(this, "0");
                createFrame();
                this.add(welcome);
                this.add(today);
                this.addMouseListener(this);
                this.addMouseMotionListener(this);
                time=new Timer(300, this);
                switch(userType){
                case 4:  SalePane sp=new SalePane(db, cards, cl, bg, this.frame, 4;
                    UserPane up=new UserPane(db, cards, cl, bg, this.frame);
                      cards.add(sp, "sales");
                      cards.add(up, "users");
 
                case 3:InventoryPane in=new InventoryPane(db, cards, cl, bg, this.frame, userType);
                     ExpensePane ep=new ExpensePane(db, cards, cl, bg, this.frame, userType;
                     cards.add(in, "inventory");
                     cards.add(ep, "expense");
                      
                     break;
                case 5:  SalePane sp1=new SalePane(db, cards, cl, bg, this.frame, 5;
                    cards.add(sp1, "sales");
             
                }
        }
        public void createFrame(){
               
                frame = new JFrame("NiSoft");
                frame.add(cards);
                frame.setVisible(true);
                frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                frame.setSize(bg.getWidth()+15, bg.getHeight()+38);
                frame.setLocationRelativeTo(null);
               
        }

      public ArrayList<InventoryRecord> getDBinventoryItems() {

        ArrayList<InventoryRecord> Records = new ArrayList<InventoryRecord>();
        ResultSet RS;
        int ctr = 0;

        RS = db.MySQLSelect("SELECT InventoryID,InventoryIn,InventoryOut,TimeRecorded, unit, productname from Inventory,Product where TimeRecorded=Date(now()) AND prCode=ProductCode;");

        try {
          while (RS.next()) {
            Records.add(new InventoryRecord(RS.getString(1), RS
                .getString(5), RS.getString(6), RS.getDate(4), RS
                .getInt(2), RS.getInt(3)));
            ctr++;
          }
          RS.close();
         
        } catch (SQLException SQLe) {
          // TODO Auto-generated catch block
        }

        return Records;
      }


        @Override
        public void actionPerformed(ActionEvent m) {
                // TODO Auto-generated method stub
                repaint();
        }
       
        public void paint(Graphics g){
                super.paint(g);
                Graphics2D g2D = (Graphics2D)g;
                time.start();
                g2D.drawImage(bg, 0, 0, null);
                switch(userType){
               
                case 4:     g2D.drawImage(usBtn.getCurImg(), 497, 8, null);
                                g2D.drawImage(salesBtn.getCurImg(), 145, 8, null);
                                g2D.drawImage(inBtn.getCurImg(), 269, 8, null);
                                g2D.drawImage(expBtn.getCurImg(), 383, 8, null);
                                break;
                case 3:     g2D.drawImage(inBtn.getCurImg(), 138, 8, null);
                                g2D.drawImage(expBtn.getCurImg(), 243, 8, null);
                                break;
                case 5:     g2D.drawImage(salesBtn.getCurImg(), 145, 8, null);
                              
                }
                g2D.drawImage(logBtn.getCurImg(), 611, 8, null);
               
        }
        @Override
        public void mouseDragged(MouseEvent m) {
                // TODO Auto-generated method stub
               
        }

        @Override
        public void mouseMoved(MouseEvent m) {
                // TODO Auto-generated method stub
                switch(userType){
               
                case 4:
                        if (m.getX() >= 151&& m.getX()<=229&&m.getY()>=8&&m.getY()<=86)//within the boundaries of sales btn                    
                                salesBtn.setCurImg(1);
                        else if (m.getX() >= 275&& m.getX()<=354&&m.getY()>=7&&m.getY()<=88)//within the boundaries of inventory btn                   
                                inBtn.setCurImg(1);
                        else if (m.getX() >= 390&& m.getX()<=469&&m.getY()>=8&&m.getY()<=86)//within the boundaries of exp btn                 
                                expBtn.setCurImg(1);
                        else if (m.getX() >= 504&& m.getX()<=581&&m.getY()>=7&&m.getY()<=85)//within the boundaries of us btn                  
                                usBtn.setCurImg(1);
                        else if (m.getX() >= 617&& m.getX()<=698&&m.getY()>=9&&m.getY()<=85)//within the boundaries of log out btn                     
                                logBtn.setCurImg(1);
               
                        else{
                                salesBtn.setCurImg(0);
                                inBtn.setCurImg(0);
                                expBtn.setCurImg(0);
                                usBtn.setCurImg(0);
                                logBtn.setCurImg(0);
                        }
                        break;
                case 3:
                        if (m.getX() >= 143&& m.getX()<=223&&m.getY()>=7&&m.getY()<=86)//within the boundaries of inventory btn                
                                inBtn.setCurImg(1);
                        else if (m.getX() >= 249&& m.getX()<=327&&m.getY()>=7&&m.getY()<=86)//within the boundaries of exp btn                 
                                expBtn.setCurImg(1);
                        else if (m.getX() >= 617&& m.getX()<=698&&m.getY()>=9&&m.getY()<=85)//within the boundaries of log out btn                     
                                logBtn.setCurImg(1);
                        else{
                                inBtn.setCurImg(0);
                                expBtn.setCurImg(0);
                                logBtn.setCurImg(0);
                        }
                        break;
                       
                case 5:
                        if (m.getX() >= 151&& m.getX()<=229&&m.getY()>=8&&m.getY()<=86)//within the boundaries of sales btn                    
                                salesBtn.setCurImg(1);
                        else if (m.getX() >= 617&& m.getX()<=698&&m.getY()>=9&&m.getY()<=85)//within the boundaries of log out btn                     
                                logBtn.setCurImg(1);
                        else
                                salesBtn.setCurImg(0);
                                logBtn.setCurImg(0);
                       
                }
               
        }

        @Override
        public void mouseClicked(MouseEvent m) {
                // TODO Auto-generated method stub
      
      switch(userType){
                case 4:
                    if (m.getX() >= 151&& m.getX()<=229&&m.getY()>=8&&m.getY()<=86)//within the boundaries of sales btn     
                      cl.show(cards, "sales");
                   
                    else if (m.getX() >= 275&& m.getX()<=354&&m.getY()>=7&&m.getY()<=88)//within the boundaries of inventory btn                 
                      cl.show(cards, "inventory");
                    else if (m.getX() >= 390&& m.getX()<=469&&m.getY()>=8&&m.getY()<=86)//within the boundaries of exp btn                 
                      cl.show(cards, "expense");

                        else if (m.getX() >= 504&& m.getX()<=581&&m.getY()>=7&&m.getY()<=85)//within the boundaries of us btn                      
                             cl.show(cards, "users");
                       
                      
                        break;
                case 3:
                        if (m.getX() >= 143&& m.getX()<=223&&m.getY()>=7&&m.getY()<=86)//within the boundaries of inventory btn                      
                       cl.show(cards, "inventory");
                        else if (m.getX() >= 249&& m.getX()<=327&&m.getY()>=7&&m.getY()<=86)//within the boundaries of exp btn                 
                       cl.show(cards, "expense");
                        break;
                               
                       
                case 5:
                    if (m.getX() >= 151&& m.getX()<=229&&m.getY()>=8&&m.getY()<=86)//within the boundaries of sales btn     
                      cl.show(cards, "sales");
                   
                }
       
        if (m.getX() >= 617&& m.getX()<=698&&m.getY()>=9&&m.getY()<=85){//within the boundaries of log out btn                 
          final JFrame frame2  = new JFrame("Confirm Action");

        JLabel label  = new JLabel();
        JLabel label2 = new JLabel("Are you sure you want to log out?");
        JButton yes = new JButton("Yes");
        JButton no = new JButton("No");
        yes.addActionListener(
            new ActionListener(){
              @Override
              public void actionPerformed(ActionEvent arg0) {
                // TODO Auto-generated method stub
                mainCards.show(parent, "1");
                mainFrame.setVisible(true);
                frame.dispose();
                        frame2.dispose();
              }
            }
        );
        yes.setIcon(new ImageIcon("Images/yes.png"));
        no.setIcon(new ImageIcon("Images/no.png"));
       
        no.addActionListener(
            new ActionListener(){
              @Override
              public void actionPerformed(ActionEvent arg0) {
                // TODO Auto-generated method stub
                frame2.dispose();
              }
            }
        );
       
        label2.setFont(new Font(Font.SERIF, Font.PLAIN, 17));
       
        JPanel panel  = new JPanel();
        ImageIcon confirm;
        confirm= new ImageIcon("Images/confirmaction.png");
        label.setIcon(confirm);
       
        panel.add(label);
        panel.add(label2);
        panel.add(yes);
        panel.add(no);

        label.setBounds(26, 20, 120, 120);
        label2.setBounds(145, 40, 250, 30);
        yes.setBounds(160, 105, 80, yes.getPreferredSize().height);
        no.setBounds(260, 105, 80, no.getPreferredSize().height+2);
       
        panel.setLayout(null);
        frame2.add(panel);
        frame2.setVisible(true);
        frame2.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        frame2.setSize(400, 200);
        frame2.setLocationRelativeTo(null);
        
      }    
         
        }

        @Override
        public void mouseEntered(MouseEvent m) {
                // TODO Auto-generated method stub
               
        }

        @Override
        public void mouseExited(MouseEvent m) {
                // TODO Auto-generated method stub
               
        }

        @Override
        public void mousePressed(MouseEvent m) {
                // TODO Auto-generated method stub
               
        }

        @Override
        public void mouseReleased(MouseEvent m) {
                // TODO Auto-generated method stub
               
        }


}
TOP

Related Classes of User.UserMain

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.