Advertisement
Guest User

Untitled

a guest
Dec 11th, 2019
351
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 17.84 KB | None | 0 0
  1.     import java.awt.event.*;
  2. import javax.swing.*;
  3. import java.awt.*;
  4. import java.util.*;
  5. import javax.swing.table.*;
  6.  
  7. class MainGUI extends JFrame implements ActionListener {
  8.   static MainGUI maingui;
  9.  
  10.   // create a frame
  11.   static JFrame frame;
  12.     // create components
  13.   static JTextField labeltotal,labelcustom;
  14.   static JButton iconedit, iconpurchase,tombolbikin, tombolselesai,tombol_list_barang;
  15.   static JTable maintable;
  16.   static DefaultTableModel model;
  17.   static JScrollPane sp;
  18.   static Boolean edit = false;
  19.     // store operands
  20.   static String s0 = "";
  21.   static String st;
  22.   static String[] columnnama = { "Nama", "Harga", "kategori", "Stock", "Keterangan", "Jumlah" };
  23.   // create an itemframe
  24.   static JFrame itemframe;
  25.  
  26.     // create components
  27.    static JTextField labelNama,labelkategori,labelHarga, labelStock, labeldesc;
  28.    static DefaultListModel listModel;
  29.  
  30.    static JButton tombolExit, tombolSimpan, tomboldelete, tombolExitpurchase, tombolclear;
  31.    static Boolean edititem,purchase;  
  32.    static JFrame purchaseframe;
  33.    static JLabel currentsale;
  34.    static JTextField labelpurchasetotal;
  35.    static JTable purchasetable;
  36.    static JScrollPane purchasesp;
  37.    static DefaultTableModel purchasemodel;
  38.    static String[] purchasecolumnnama = { "Nama", "Jumlah", "Harga", "Delete" };
  39.     // default constructor
  40.     MainGUI()
  41.     {
  42.     st = "0";
  43.     }
  44.  
  45.     // main function
  46.     public static void create()
  47.     {
  48.         // create a frame
  49.         frame = new JFrame("Point Of Sales");
  50.         // create a object of class
  51.         maingui = new MainGUI();
  52.  
  53.         // create a textfield
  54.         labeltotal = new JTextField(24);
  55.         labeltotal.setText("Charge Rp. 0");
  56.  
  57.         labelcustom = new JTextField(24);
  58.         labelcustom.setText("Rp. 0");
  59.  
  60.         // set the textfield to non editable
  61.         labeltotal.setEditable(false);
  62.         labelcustom.setEditable(false);
  63.  
  64.       ImageIcon imageIcon = new ImageIcon("resources/search-button-icon.png");
  65.       Image image = imageIcon.getImage();
  66.       Image newimg = image.getScaledInstance(18, 18, Image.SCALE_SMOOTH);
  67.       imageIcon = new ImageIcon(newimg);
  68.    
  69.  
  70.  
  71.       imageIcon = new ImageIcon("resources/edit-button-icon.jpg");
  72.       image = imageIcon.getImage();
  73.       newimg = image.getScaledInstance(16, 16, Image.SCALE_SMOOTH);
  74.       imageIcon = new ImageIcon(newimg);
  75.  
  76.       iconedit = new JButton("", imageIcon);
  77.       iconedit.setActionCommand("edit");
  78.       iconedit.setPreferredSize(new Dimension(240, 18));
  79.       iconedit.setBorder(BorderFactory.createEmptyBorder());
  80.       iconedit.setBackground(Color.PINK);
  81.  
  82.       //create menubutton
  83.       tombol_list_barang = new JButton("Barang");
  84.       tombol_list_barang.setBackground(Color.PINK);
  85.       tombol_list_barang.setPreferredSize(new Dimension(240, 50));
  86.  
  87.  
  88.  
  89.       tombolbikin = new JButton("Buat Barang Baru");
  90.       tombolbikin.setPreferredSize(new Dimension(240, 50));
  91.       tombolbikin.setBackground(Color.PINK);
  92.       tombolselesai = new JButton("Selesai");
  93.       tombolselesai.setPreferredSize(new Dimension(240, 50));
  94.       tombolselesai.setBackground(Color.PINK);
  95.    
  96.       imageIcon = new ImageIcon("resources/print.png");
  97.       image = imageIcon.getImage();
  98.       newimg = image.getScaledInstance(50, 50, Image.SCALE_SMOOTH);
  99.       imageIcon = new ImageIcon(newimg);
  100.    
  101.       iconpurchase = new JButton("", imageIcon);
  102.    
  103.       iconpurchase.setActionCommand("Purchase");
  104.       iconpurchase.setPreferredSize(new Dimension(240, 50));
  105.       iconpurchase.setBackground(Color.PINK);
  106.         // create a panel
  107.         JPanel panel = new JPanel();
  108.  
  109.        // Initializing the JTable
  110.       model = new DefaultTableModel(columnnama, 0);
  111.       maintable = new JTable(model);
  112.  
  113.       maintable.setTableHeader(null);
  114.       maintable.setShowGrid(false);
  115.       maintable.setDefaultEditor(Object.class, null);
  116.       maintable.getColumnModel().getColumn(2).setMinWidth(0);
  117.       maintable.getColumnModel().getColumn(2).setMaxWidth(0);
  118.       maintable.getColumnModel().getColumn(2).setWidth(0);
  119.       maintable.getColumnModel().getColumn(3).setMinWidth(0);
  120.       maintable.getColumnModel().getColumn(3).setMaxWidth(0);
  121.       maintable.getColumnModel().getColumn(3).setWidth(0);
  122.       maintable.getColumnModel().getColumn(4).setMinWidth(0);
  123.       maintable.getColumnModel().getColumn(4).setMaxWidth(0);
  124.       maintable.getColumnModel().getColumn(4).setWidth(0);
  125.       maintable.getColumnModel().getColumn(5).setMinWidth(0);
  126.       maintable.getColumnModel().getColumn(5).setMaxWidth(0);
  127.       maintable.getColumnModel().getColumn(5).setWidth(0);
  128.  
  129.       maintable.addMouseListener(new MouseAdapter()
  130.      {
  131.        public void mouseClicked(MouseEvent event)
  132.        {
  133.          if (!edit)
  134.          {
  135.            int row = maintable.rowAtPoint(event.getPoint());
  136.            int col = 1;
  137.            int te = 0;
  138.            s0 = maintable.getValueAt(row, col).toString();
  139.            te = (Integer.parseInt(s0) + Integer.parseInt(st));
  140.            st = Integer.toString(te);
  141.            labeltotal.setText("Charge Rp. " + st);
  142.  
  143.            model.setValueAt(Integer.parseInt(maintable.getValueAt(row, 5).toString()) + 1, row, 5);
  144.  
  145.            maintable.setModel(model);
  146.          }
  147.           else
  148.           {
  149.            createItemGUI("edit", maintable.rowAtPoint(event.getPoint()));
  150.           }
  151.        }
  152.      }
  153.     );
  154.  
  155.     // adding it to JScrollPane
  156.     sp = new JScrollPane(maintable);
  157.     sp.setPreferredSize(new Dimension(240, 150));
  158.        
  159.     // add action listeners
  160.     iconedit.addActionListener(maingui);    
  161.     iconpurchase.addActionListener(maingui);    
  162.     tombol_list_barang.addActionListener(maingui);  
  163.    
  164.     tombolbikin.addActionListener(maingui);
  165.     tombolselesai.addActionListener(maingui);
  166.  
  167.     // add elements to panel
  168.     panel.add(labeltotal);
  169.     panel.add(tombol_list_barang
  170. );
  171.     panel.add(iconedit);
  172.  
  173.     panel.add(tombolbikin);
  174.     panel.add(sp);
  175.     panel.add(tombolselesai);
  176.     panel.add(iconpurchase);
  177.  
  178.     panel.setBackground(new java.awt.Color(238,105,100));
  179.  
  180.     // add panel to frame
  181.     frame.add(panel);
  182.  
  183.     frame.setSize(280, 500);
  184.     frame.setBackground(new java.awt.Color(238,105,100));
  185.     maingui.startLibrary();
  186.     frame.show();
  187.   }
  188.  
  189.   public static void createItemGUI(String buffer, int row)
  190.     {
  191.     if(buffer.compareTo("new") == 0)
  192.     {
  193.       edititem = false;
  194.     }
  195.     else
  196.     {
  197.       edititem = true;
  198.     }
  199.  
  200.     if(!edititem)
  201.     {
  202.       // create an itemframe
  203.       itemframe = new JFrame("Buat Barang Baru");
  204.     }
  205.     else
  206.     {
  207.       itemframe = new JFrame("Edit Item");
  208.     }
  209.         // create a textfield
  210.  
  211.     labelNama = new JTextField(24);
  212.     labelHarga = new JTextField(24);
  213.     labelkategori = new JTextField(24);
  214.     labelStock = new JTextField(24);
  215.     labeldesc = new JTextField(24);
  216.     if(edititem)
  217.     {
  218.       labelNama.setText(maintable.getValueAt(row, 0).toString());
  219.       labelHarga.setText(maintable.getValueAt(row, 1).toString());
  220.       labelkategori.setText(maintable.getValueAt(row, 2).toString());
  221.       labelStock.setText(maintable.getValueAt(row, 3).toString());
  222.       labeldesc.setText(maintable.getValueAt(row, 4).toString());
  223.     }
  224.     else
  225.     {
  226.       labelNama.setText("Item Nama");
  227.       labelHarga.setText("Harga");
  228.       labelkategori.setText("kategori");
  229.       labelStock.setText("Stock");
  230.       labeldesc.setText("Keterangan");  
  231.     }
  232.    
  233.     labelNama.addMouseListener(new MouseAdapter()
  234.     {
  235.         public void mouseClicked(MouseEvent e)
  236.         {
  237.           if(labelNama.getText().equals("Item Nama"))
  238.           {
  239.             labelNama.setText("");
  240.           }          
  241.         }
  242.     }
  243.     );
  244.    
  245.     labelkategori.addMouseListener(new MouseAdapter()
  246.     {
  247.         public void mouseClicked(MouseEvent e)
  248.         {
  249.           if(labelkategori.getText().equals("kategori"))
  250.           {
  251.             labelkategori.setText("");
  252.           }          
  253.         }
  254.     }
  255.     );
  256.  
  257.     labelHarga.addMouseListener(new MouseAdapter()
  258.     {
  259.         public void mouseClicked(MouseEvent e)
  260.         {
  261.           if(labelHarga.getText().equals("Harga"))
  262.           {
  263.             labelHarga.setText("");
  264.           }          
  265.         }
  266.     }
  267.     );
  268.        
  269.     labelStock.addMouseListener(new MouseAdapter()
  270.     {
  271.         public void mouseClicked(MouseEvent e)
  272.         {
  273.           if(labelStock.getText().equals("Stock"))
  274.           {
  275.             labelStock.setText("");
  276.           }          
  277.         }
  278.     }
  279.     );
  280.    
  281.     labeldesc.addMouseListener(new MouseAdapter()
  282.     {
  283.         public void mouseClicked(MouseEvent e)
  284.         {
  285.           if(labeldesc.getText().equals("Keterangan"))
  286.           {
  287.             labeldesc.setText("");
  288.           }          
  289.         }
  290.     }
  291.     );
  292.  
  293.     tombolExit = new JButton("X");
  294.     tombolExit.setPreferredSize(new Dimension(50, 50));
  295.     tombolExit.setBackground(Color.PINK);
  296.  
  297.         tombolSimpan = new JButton("Simpan");
  298.     tombolSimpan.setPreferredSize(new Dimension(190, 50));
  299.     tombolSimpan.setBackground(Color.PINK);
  300.  
  301.     tomboldelete = new JButton("Hapus");
  302.     tomboldelete.setPreferredSize(new Dimension(240, 50));
  303.     tomboldelete.setBackground(Color.PINK);
  304.  
  305.     // create a itempanel
  306.         JPanel itempanel = new JPanel();
  307.        
  308.     // add action listeners
  309.         tombolSimpan.addActionListener(maingui);
  310.     tombolExit.addActionListener(maingui);
  311.     tomboldelete.addActionListener(maingui);
  312.  
  313.  
  314.     itempanel.add(labelNama);
  315.     itempanel.add(labelkategori);
  316.     itempanel.add(labelHarga);
  317.     itempanel.add(labelStock);
  318.     itempanel.add(labeldesc);
  319.     itempanel.add(tombolExit);
  320.     itempanel.add(tombolSimpan);
  321.     itempanel.setBackground(new java.awt.Color(238,105,100));
  322.  
  323.     if(edititem)
  324.     {
  325.       itempanel.add(tomboldelete);
  326.     }
  327.         // add itempanel to itemframe
  328.         itemframe.add(itempanel);
  329.  
  330.         itemframe.setSize(300, 500);
  331.         itemframe.setBackground(new java.awt.Color(238,105,100));
  332.         itemframe.show();
  333.   }
  334.  
  335.   public  void createPurchaseGUI()
  336.     {
  337.     int total = 0;
  338.     Object[] object = new Object[4];
  339.  
  340.     purchaseframe = new JFrame("Purchase");
  341.     purchaseframe.setBackground(new java.awt.Color(238,105,100));
  342.     purchase = true;
  343.     currentsale = new JLabel("CURRENT SALE");
  344.     labelpurchasetotal = new JTextField(24);
  345.     labelpurchasetotal.setEditable(false);
  346.     labelpurchasetotal.setText("Harga Total Rp. " + st);
  347.     labelpurchasetotal.setBackground(Color.PINK);
  348.  
  349.     //Initializing the JTable
  350.     purchasemodel = new DefaultTableModel(purchasecolumnnama, 0);
  351.  
  352.     for(int i = 0; i < maintable.getRowCount(); i++)
  353.     {
  354.       if(Integer.parseInt(maintable.getValueAt(i, 5).toString()) > 0)
  355.       {
  356.         object[0] = maintable.getValueAt(i, 0).toString();
  357.         object[1] = ("x" + maintable.getValueAt(i, 5).toString());
  358.         object[2] = Integer.parseInt(maintable.getValueAt(i, 1).toString()) * Integer.parseInt(maintable.getValueAt(i, 5).toString());
  359.         object[3] = "X";
  360.         total = total + Integer.parseInt(maintable.getValueAt(i, 1).toString()) * Integer.parseInt(maintable.getValueAt(i, 5).toString());
  361.         purchasemodel.addRow(object);
  362.       }
  363.     }
  364.  
  365.     purchasetable = new JTable(purchasemodel);
  366.     purchasetable.getColumnModel().getColumn(3).setMinWidth(11);
  367.     purchasetable.getColumnModel().getColumn(3).setMaxWidth(11);
  368.     purchasetable.getColumnModel().getColumn(3).setWidth(11);
  369.     purchasetable.setTableHeader(null);
  370.     purchasetable.setShowGrid(false);
  371.     purchasetable.setDefaultEditor(Object.class, null);
  372.     purchasetable.addMouseListener(new MouseAdapter()
  373.     {
  374.       public void mouseClicked(MouseEvent event)
  375.       {
  376.         int col = purchasetable.columnAtPoint(event.getPoint());
  377.         int row = purchasetable.rowAtPoint(event.getPoint());
  378.         if (col == 3)
  379.         {
  380.           int te = 0;
  381.           s0 = purchasetable.getValueAt(row, 2).toString();
  382.           te = (Integer.parseInt(st) - Integer.parseInt(s0));
  383.           st = Integer.toString(te);
  384.           labelpurchasetotal.setText("Harga Total Rp. " + st);
  385.           labeltotal.setText("Harga Total Rp. " + st);
  386.          
  387.           for (int i = 0; i < model.getRowCount(); i++)
  388.           {
  389.             if(model.getValueAt(i, 0) == purchasetable.getValueAt(row, 0))
  390.             {
  391.               model.setValueAt(0, i, 5);
  392.             }
  393.           }
  394.           int numRows = purchasetable.getSelectedRows().length;
  395.           for(int i = 0; i < numRows ; i++)
  396.           {
  397.             purchasemodel.removeRow(purchasetable.getSelectedRow());
  398.           }
  399.           purchasetable.setModel(purchasemodel);
  400.         }
  401.       }
  402.     }
  403.     );
  404.  
  405.     purchasesp = new JScrollPane(purchasetable);
  406.     purchasesp.setPreferredSize(new Dimension(240, 150));
  407.    
  408.     tombolExitpurchase = new JButton("X");
  409.     tombolExitpurchase.setPreferredSize(new Dimension(50, 50));
  410.     tombolExitpurchase.setBackground(Color.PINK);
  411.  
  412.     tombolclear = new JButton("Clear Sale");
  413.     tombolclear.setPreferredSize(new Dimension(190, 50));
  414.     tombolclear.setBackground(Color.PINK);
  415.  
  416.     JPanel purchasepanel = new JPanel();
  417.        
  418.     tombolclear.addActionListener(maingui);
  419.     tombolExitpurchase.addActionListener(maingui);
  420.  
  421.  
  422.       purchasepanel.add(currentsale);
  423.       purchasepanel.add(purchasesp);
  424.       purchasepanel.add(labelpurchasetotal);
  425.       purchasepanel.add(tombolExitpurchase);
  426.       purchasepanel.add(tombolclear);
  427.       purchasepanel.setBackground(new java.awt.Color(238,105,100));
  428.  
  429.       purchaseframe.add(purchasepanel);
  430.       purchaseframe.setSize(300, 500);
  431.       purchaseframe.setBackground(new java.awt.Color(238,105,100));
  432.       purchaseframe.show();
  433.     }
  434.  
  435.   public  void startLibrary()
  436.   {
  437.     tombol_list_barang.setEnabled(false);
  438.     labelcustom.setVisible(false);
  439.     iconedit.setVisible(true);
  440.  
  441.     tombolbikin.setVisible(false);
  442.  
  443.     sp.setVisible(true);
  444.  
  445.     tombolselesai.setVisible(false);
  446.     iconpurchase.setVisible(true);
  447.  
  448.   }
  449.  
  450.   public  void starteditLibrary()
  451.   {
  452.     tombol_list_barang.setEnabled(false);
  453.     labelcustom.setVisible(false);
  454.     iconedit.setVisible(false);
  455.  
  456.     tombolbikin.setVisible(true);
  457.     iconpurchase.setVisible(false);
  458.  
  459.     tombolselesai.setVisible(true);
  460.   }
  461.  
  462.   public  void startCustom()
  463.   {
  464.     s0 = "";
  465.     labelcustom.setText("Rp. 0");
  466.     tombol_list_barang.setEnabled(true);
  467.     labelcustom.setVisible(true);
  468.     iconedit.setVisible(false);
  469.  
  470.     tombolbikin.setVisible(false);
  471.    
  472.     sp.setVisible(false);
  473.  
  474.     iconpurchase.setVisible(false);
  475.      
  476.   }
  477.  
  478.     public void actionPerformed(ActionEvent event)
  479.     {
  480.         String s = event.getActionCommand();
  481.  
  482.         // if the value is a number
  483.         if ((s.charAt(0) >= '0' && s.charAt(0) <= '9')) {
  484.             // if operand is present then add to second no
  485.             s0 = s0 + s;
  486.  
  487.             // set the value of text
  488.             labelcustom.setText("Rp. " + s0);
  489.         }
  490.         else if (s.equals("C")) {
  491.       s0 = "";
  492.             // set the value of text
  493.             labelcustom.setText("Rp. 0");
  494.         }
  495.         else if (s.charAt(0) == '+') {
  496.             // if there was no operand
  497.             int te = 0;
  498.       if(s0 == "")
  499.       {
  500.         s0 = "0";
  501.       }
  502.       te = (Integer.parseInt(s0) + Integer.parseInt(st));
  503.  
  504.       // convert it to string
  505.       st = Integer.toString(te);
  506.       s0 = "";  
  507.  
  508.         // set the value of text
  509.             labelcustom.setText("Rp. 0");
  510.             labelcustom.setBackground(Color.PINK);
  511.             labeltotal.setText("Charge Rp. " + st);
  512.             labeltotal.setBackground(Color.PINK);
  513.         }
  514.     else if (s.equals("Library"))
  515.     {
  516.       startLibrary();
  517.     }
  518.     else if (s.equals("Custom"))
  519.     {
  520.       startCustom();
  521.     }
  522.     else if (s.equals("edit"))
  523.     {
  524.       starteditLibrary();
  525.       edit = true;
  526.     }
  527.     else if (s.equals("Purchase"))
  528.     {
  529.       createPurchaseGUI();
  530.       frame.dispose();
  531.     }
  532.     else if (s.equals("Selesai"))
  533.     {
  534.       startLibrary();
  535.       edit = false;
  536.     }
  537.     else if (s.equals("Buat Barang Baru"))
  538.     {
  539.       // frame.dispose();
  540.       createItemGUI("new", 0);
  541.     }
  542.     else if (s.equals("Simpan"))
  543.     {
  544.       Object[] row = new Object[6];
  545.       row[0] = (String)labelNama.getText();
  546.       row[1] = labelHarga.getText();
  547.       row[2] = (String)labelkategori.getText();
  548.       row[3] = (String)labelStock.getText();
  549.       row[4] = (String)labeldesc.getText();
  550.       row[5] = 0;
  551.       model.addRow(row);
  552.       maintable.setModel(model);
  553.       if(edititem)
  554.       {
  555.         int numRows = maintable.getSelectedRows().length;
  556.         for(int i = 0; i < numRows ; i++)
  557.         {
  558.           model.removeRow(maintable.getSelectedRow());
  559.         }
  560.       }
  561.       itemframe.dispose();
  562.  
  563.       // frame.show();
  564.     }
  565.     else if (s.equals("X"))
  566.     {
  567.       if(purchase == true)
  568.       {
  569.         purchaseframe.dispose();
  570.         frame.show();
  571.       }
  572.       else
  573.       {
  574.         itemframe.dispose();
  575.       }
  576.     }
  577.     else if (s.equals("Hapus"))
  578.     {
  579.       int numRows = maintable.getSelectedRows().length;
  580.       for(int i = 0; i < numRows ; i++)
  581.       {
  582.         model.removeRow(maintable.getSelectedRow());
  583.       }
  584.       itemframe.dispose();
  585.  
  586.     }
  587.     else if (s.equals("Clear Sale"))
  588.     {
  589.       labelcustom.setText("Rp. 0");
  590.       labeltotal.setText("Charge Rp. 0");
  591.       labelpurchasetotal.setText("Charge Rp. 0");
  592.       s0 = "";
  593.       st = "0";
  594.      
  595.       for (int i = 0; i < purchasemodel.getRowCount(); i++)
  596.       {
  597.         purchasemodel.removeRow(i);
  598.       }
  599.       purchasetable.setModel(purchasemodel);
  600.      
  601.       for (int i = 0; i < model.getRowCount(); i++)
  602.       {
  603.         model.setValueAt(0, i, 5);
  604.       }
  605.     }
  606.   }
  607. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement