Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.event.*;
- import javax.swing.*;
- import java.awt.*;
- import java.util.*;
- import javax.swing.table.*;
- class MainGUI extends JFrame implements ActionListener {
- static MainGUI maingui;
- // create a frame
- static JFrame frame;
- // create components
- static JTextField labeltotal;
- static JTextField labelcustom;
- static JButton iconedit, iconpurchase;
- static JButton butttonlib;
- static JButton buttoncreate, buttondone;
- static JTable maintable;
- static DefaultTableModel model;
- static JScrollPane sp;
- static Boolean edit = false;
- // store operands
- static String s0 = "";
- static String st;
- static String[] columnNames = { "Name", "Price", "Category", "SKU", "Description", "Count" };
- // create an itemframe
- static JFrame itemframe;
- // create components
- static JTextField labelname;
- static DefaultListModel listModel;
- static JTextField labelcategory;
- static JTextField labelprice;
- static JTextField labelSKU;
- static JTextField labeldesc;
- static JButton buttonexit, buttonsave, buttondelete;
- static Boolean edititem;
- static Boolean purchase;
- static JFrame purchaseframe;
- static JLabel currentsale;
- static JTextField labelpurchasetotal;
- static JButton buttonexitpurchase, buttonclear;
- static JTable purchasetable;
- static JScrollPane purchasesp;
- static DefaultTableModel purchasemodel;
- static String[] purchasecolumnNames = { "Name", "Count", "Price", "Delete" };
- // default constructor
- MainGUI()
- {
- st = "0";
- }
- // main function
- public static void create()
- {
- // create a frame
- frame = new JFrame("Point Of Sales");
- // create a object of class
- maingui = new MainGUI();
- // create a textfield
- labeltotal = new JTextField(24);
- labeltotal.setText("Charge Rp. 0");
- labelcustom = new JTextField(24);
- labelcustom.setText("Rp. 0");
- // set the textfield to non editable
- labeltotal.setEditable(false);
- labelcustom.setEditable(false);
- ImageIcon imageIcon = new ImageIcon("resources/search-button-icon.png");
- Image image = imageIcon.getImage();
- Image newimg = image.getScaledInstance(18, 18, Image.SCALE_SMOOTH);
- imageIcon = new ImageIcon(newimg);
- imageIcon = new ImageIcon("resources/edit-button-icon.jpg");
- image = imageIcon.getImage();
- newimg = image.getScaledInstance(16, 16, Image.SCALE_SMOOTH);
- imageIcon = new ImageIcon(newimg);
- iconedit = new JButton("", imageIcon);
- iconedit.setActionCommand("edit");
- iconedit.setPreferredSize(new Dimension(240, 18));
- iconedit.setBorder(BorderFactory.createEmptyBorder());
- iconedit.setBackground(Color.PINK);
- //create menubutton
- butttonlib = new JButton("Daftar Barang");
- butttonlib.setBackground(Color.PINK);
- butttonlib.setPreferredSize(new Dimension(240, 50));
- buttoncreate = new JButton("CREATE NEW ITEM");
- buttoncreate.setPreferredSize(new Dimension(240, 50));
- buttoncreate.setBackground(Color.PINK);
- buttondone = new JButton("DONE");
- buttondone.setPreferredSize(new Dimension(240, 50));
- buttondone.setBackground(Color.PINK);
- imageIcon = new ImageIcon("resources/print.png");
- image = imageIcon.getImage();
- newimg = image.getScaledInstance(50, 50, Image.SCALE_SMOOTH);
- imageIcon = new ImageIcon(newimg);
- iconpurchase = new JButton("", imageIcon);
- iconpurchase.setActionCommand("Purchase");
- iconpurchase.setPreferredSize(new Dimension(240, 50));
- iconpurchase.setBackground(Color.PINK);
- // create a panel
- JPanel panel = new JPanel();
- // Initializing the JTable
- model = new DefaultTableModel(columnNames, 0);
- maintable = new JTable(model);
- maintable.setTableHeader(null);
- maintable.setShowGrid(false);
- maintable.setDefaultEditor(Object.class, null);
- maintable.getColumnModel().getColumn(2).setMinWidth(0);
- maintable.getColumnModel().getColumn(2).setMaxWidth(0);
- maintable.getColumnModel().getColumn(2).setWidth(0);
- maintable.getColumnModel().getColumn(3).setMinWidth(0);
- maintable.getColumnModel().getColumn(3).setMaxWidth(0);
- maintable.getColumnModel().getColumn(3).setWidth(0);
- maintable.getColumnModel().getColumn(4).setMinWidth(0);
- maintable.getColumnModel().getColumn(4).setMaxWidth(0);
- maintable.getColumnModel().getColumn(4).setWidth(0);
- maintable.getColumnModel().getColumn(5).setMinWidth(0);
- maintable.getColumnModel().getColumn(5).setMaxWidth(0);
- maintable.getColumnModel().getColumn(5).setWidth(0);
- maintable.addMouseListener(new MouseAdapter()
- {
- public void mouseClicked(MouseEvent event)
- {
- if (!edit)
- {
- int row = maintable.rowAtPoint(event.getPoint());
- int col = 1;
- int te = 0;
- s0 = maintable.getValueAt(row, col).toString();
- te = (Integer.parseInt(s0) + Integer.parseInt(st));
- st = Integer.toString(te);
- labeltotal.setText("Charge Rp. " + st);
- model.setValueAt(Integer.parseInt(maintable.getValueAt(row, 5).toString()) + 1, row, 5);
- maintable.setModel(model);
- }
- else
- {
- createItemGUI("edit", maintable.rowAtPoint(event.getPoint()));
- }
- }
- }
- );
- // adding it to JScrollPane
- sp = new JScrollPane(maintable);
- sp.setPreferredSize(new Dimension(240, 150));
- // add action listeners
- iconedit.addActionListener(maingui);
- iconpurchase.addActionListener(maingui);
- butttonlib.addActionListener(maingui);
- buttoncreate.addActionListener(maingui);
- buttondone.addActionListener(maingui);
- // add elements to panel
- panel.add(labeltotal);
- panel.add(butttonlib);
- panel.add(iconedit);
- panel.add(buttoncreate);
- panel.add(sp);
- panel.add(buttondone);
- panel.add(iconpurchase);
- panel.setBackground(new java.awt.Color(238,105,100));
- // add panel to frame
- frame.add(panel);
- frame.setSize(280, 500);
- frame.setBackground(new java.awt.Color(238,105,100));
- maingui.startLibrary();
- frame.show();
- }
- public static void createItemGUI(String buffer, int row)
- {
- if(buffer.compareTo("new") == 0)
- {
- edititem = false;
- }
- else
- {
- edititem = true;
- }
- if(!edititem)
- {
- // create an itemframe
- itemframe = new JFrame("Create New Item");
- }
- else
- {
- itemframe = new JFrame("Edit Item");
- }
- // create a textfield
- labelname = new JTextField(24);
- labelprice = new JTextField(24);
- labelcategory = new JTextField(24);
- labelSKU = new JTextField(24);
- labeldesc = new JTextField(24);
- if(edititem)
- {
- labelname.setText(maintable.getValueAt(row, 0).toString());
- labelprice.setText(maintable.getValueAt(row, 1).toString());
- labelcategory.setText(maintable.getValueAt(row, 2).toString());
- labelSKU.setText(maintable.getValueAt(row, 3).toString());
- labeldesc.setText(maintable.getValueAt(row, 4).toString());
- }
- else
- {
- labelname.setText("Item Name");
- labelprice.setText("Price");
- labelcategory.setText("Category");
- labelSKU.setText("SKU");
- labeldesc.setText("Description");
- }
- labelname.addMouseListener(new MouseAdapter()
- {
- public void mouseClicked(MouseEvent e)
- {
- if(labelname.getText().equals("Item Name"))
- {
- labelname.setText("");
- }
- }
- }
- );
- labelcategory.addMouseListener(new MouseAdapter()
- {
- public void mouseClicked(MouseEvent e)
- {
- if(labelcategory.getText().equals("Category"))
- {
- labelcategory.setText("");
- }
- }
- }
- );
- labelprice.addMouseListener(new MouseAdapter()
- {
- public void mouseClicked(MouseEvent e)
- {
- if(labelprice.getText().equals("Price"))
- {
- labelprice.setText("");
- }
- }
- }
- );
- labelSKU.addMouseListener(new MouseAdapter()
- {
- public void mouseClicked(MouseEvent e)
- {
- if(labelSKU.getText().equals("SKU"))
- {
- labelSKU.setText("");
- }
- }
- }
- );
- labeldesc.addMouseListener(new MouseAdapter()
- {
- public void mouseClicked(MouseEvent e)
- {
- if(labeldesc.getText().equals("Description"))
- {
- labeldesc.setText("");
- }
- }
- }
- );
- buttonexit = new JButton("X");
- buttonexit.setPreferredSize(new Dimension(50, 50));
- buttonexit.setBackground(Color.PINK);
- buttonsave = new JButton("SAVE");
- buttonsave.setPreferredSize(new Dimension(190, 50));
- buttonsave.setBackground(Color.PINK);
- buttondelete = new JButton("DELETE");
- buttondelete.setPreferredSize(new Dimension(240, 50));
- buttondelete.setBackground(Color.PINK);
- // create a itempanel
- JPanel itempanel = new JPanel();
- // add action listeners
- buttonsave.addActionListener(maingui);
- buttonexit.addActionListener(maingui);
- buttondelete.addActionListener(maingui);
- // add elements to itempanel
- itempanel.add(labelname);
- itempanel.add(labelcategory);
- itempanel.add(labelprice);
- itempanel.add(labelSKU);
- itempanel.add(labeldesc);
- itempanel.add(buttonexit);
- itempanel.add(buttonsave);
- itempanel.setBackground(new java.awt.Color(238,105,100));
- if(edititem)
- {
- itempanel.add(buttondelete);
- }
- // add itempanel to itemframe
- itemframe.add(itempanel);
- itemframe.setSize(300, 500);
- itemframe.setBackground(new java.awt.Color(238,105,100));
- itemframe.show();
- }
- public static void createPurchaseGUI()
- {
- int total = 0;
- Object[] object = new Object[4];
- purchaseframe = new JFrame("Purchase");
- purchaseframe.setBackground(new java.awt.Color(238,105,100));
- purchase = true;
- currentsale = new JLabel("CURRENT SALE");
- labelpurchasetotal = new JTextField(24);
- labelpurchasetotal.setEditable(false);
- labelpurchasetotal.setText("Harga Total Rp. " + st);
- labelpurchasetotal.setBackground(Color.PINK);
- //Initializing the JTable
- purchasemodel = new DefaultTableModel(purchasecolumnNames, 0);
- for(int i = 0; i < maintable.getRowCount(); i++)
- {
- if(Integer.parseInt(maintable.getValueAt(i, 5).toString()) > 0)
- {
- object[0] = maintable.getValueAt(i, 0).toString();
- object[1] = ("x" + maintable.getValueAt(i, 5).toString());
- object[2] = Integer.parseInt(maintable.getValueAt(i, 1).toString()) * Integer.parseInt(maintable.getValueAt(i, 5).toString());
- object[3] = "X";
- total = total + Integer.parseInt(maintable.getValueAt(i, 1).toString()) * Integer.parseInt(maintable.getValueAt(i, 5).toString());
- purchasemodel.addRow(object);
- }
- }
- purchasetable = new JTable(purchasemodel);
- purchasetable.getColumnModel().getColumn(3).setMinWidth(11);
- purchasetable.getColumnModel().getColumn(3).setMaxWidth(11);
- purchasetable.getColumnModel().getColumn(3).setWidth(11);
- purchasetable.setTableHeader(null);
- purchasetable.setShowGrid(false);
- purchasetable.setDefaultEditor(Object.class, null);
- purchasetable.addMouseListener(new MouseAdapter()
- {
- public void mouseClicked(MouseEvent event)
- {
- int col = purchasetable.columnAtPoint(event.getPoint());
- int row = purchasetable.rowAtPoint(event.getPoint());
- if (col == 3)
- {
- int te = 0;
- s0 = purchasetable.getValueAt(row, 2).toString();
- te = (Integer.parseInt(st) - Integer.parseInt(s0));
- st = Integer.toString(te);
- labelpurchasetotal.setText("Harga Total Rp. " + st);
- labeltotal.setText("Harga Total Rp. " + st);
- for (int i = 0; i < model.getRowCount(); i++)
- {
- if(model.getValueAt(i, 0) == purchasetable.getValueAt(row, 0))
- {
- model.setValueAt(0, i, 5);
- }
- }
- int numRows = purchasetable.getSelectedRows().length;
- for(int i = 0; i < numRows ; i++)
- {
- purchasemodel.removeRow(purchasetable.getSelectedRow());
- }
- purchasetable.setModel(purchasemodel);
- }
- }
- }
- );
- purchasesp = new JScrollPane(purchasetable);
- purchasesp.setPreferredSize(new Dimension(240, 150));
- buttonexitpurchase = new JButton("X");
- buttonexitpurchase.setPreferredSize(new Dimension(50, 50));
- buttonexitpurchase.setBackground(Color.PINK);
- buttonclear = new JButton("Clear Sale");
- buttonclear.setPreferredSize(new Dimension(190, 50));
- buttonclear.setBackground(Color.PINK);
- // create a purchasepanel
- JPanel purchasepanel = new JPanel();
- // add action listeners
- buttonclear.addActionListener(maingui);
- buttonexitpurchase.addActionListener(maingui);
- // add elements to purchasepanel
- purchasepanel.add(currentsale);
- purchasepanel.add(purchasesp);
- purchasepanel.add(labelpurchasetotal);
- purchasepanel.add(buttonexitpurchase);
- purchasepanel.add(buttonclear);
- purchasepanel.setBackground(new java.awt.Color(238,105,100));
- // add purchasepanel to purchaseframe
- purchaseframe.add(purchasepanel);
- purchaseframe.setSize(300, 500);
- purchaseframe.setBackground(new java.awt.Color(238,105,100));
- purchaseframe.show();
- }
- public static void startLibrary()
- {
- butttonlib.setEnabled(false);
- labelcustom.setVisible(false);
- iconedit.setVisible(true);
- buttoncreate.setVisible(false);
- sp.setVisible(true);
- buttondone.setVisible(false);
- iconpurchase.setVisible(true);
- }
- public static void starteditLibrary()
- {
- butttonlib.setEnabled(false);
- labelcustom.setVisible(false);
- iconedit.setVisible(false);
- buttoncreate.setVisible(true);
- iconpurchase.setVisible(false);
- buttondone.setVisible(true);
- }
- public static void startCustom()
- {
- s0 = "";
- labelcustom.setText("Rp. 0");
- butttonlib.setEnabled(true);
- labelcustom.setVisible(true);
- iconedit.setVisible(false);
- buttoncreate.setVisible(false);
- sp.setVisible(false);
- iconpurchase.setVisible(false);
- }
- public void actionPerformed(ActionEvent event)
- {
- String s = event.getActionCommand();
- // if the value is a number
- if ((s.charAt(0) >= '0' && s.charAt(0) <= '9')) {
- // if operand is present then add to second no
- s0 = s0 + s;
- // set the value of text
- labelcustom.setText("Rp. " + s0);
- }
- else if (s.equals("C")) {
- s0 = "";
- // set the value of text
- labelcustom.setText("Rp. 0");
- }
- else if (s.charAt(0) == '+') {
- // if there was no operand
- int te = 0;
- if(s0 == "")
- {
- s0 = "0";
- }
- te = (Integer.parseInt(s0) + Integer.parseInt(st));
- // convert it to string
- st = Integer.toString(te);
- s0 = "";
- // set the value of text
- labelcustom.setText("Rp. 0");
- labelcustom.setBackground(Color.PINK);
- labeltotal.setText("Charge Rp. " + st);
- labeltotal.setBackground(Color.PINK);
- }
- else if (s.equals("Library"))
- {
- startLibrary();
- }
- else if (s.equals("Custom"))
- {
- startCustom();
- }
- else if (s.equals("edit"))
- {
- starteditLibrary();
- edit = true;
- }
- else if (s.equals("Purchase"))
- {
- createPurchaseGUI();
- frame.dispose();
- }
- else if (s.equals("DONE"))
- {
- startLibrary();
- edit = false;
- }
- else if (s.equals("CREATE NEW ITEM"))
- {
- // frame.dispose();
- createItemGUI("new", 0);
- }
- else if (s.equals("SAVE"))
- {
- Object[] row = new Object[6];
- row[0] = (String)labelname.getText();
- row[1] = labelprice.getText();
- row[2] = (String)labelcategory.getText();
- row[3] = (String)labelSKU.getText();
- row[4] = (String)labeldesc.getText();
- row[5] = 0;
- model.addRow(row);
- maintable.setModel(model);
- if(edititem)
- {
- int numRows = maintable.getSelectedRows().length;
- for(int i = 0; i < numRows ; i++)
- {
- model.removeRow(maintable.getSelectedRow());
- }
- }
- itemframe.dispose();
- // frame.show();
- }
- else if (s.equals("X"))
- {
- if(purchase == true)
- {
- purchaseframe.dispose();
- frame.show();
- }
- else
- {
- itemframe.dispose();
- }
- }
- else if (s.equals("DELETE"))
- {
- int numRows = maintable.getSelectedRows().length;
- for(int i = 0; i < numRows ; i++)
- {
- model.removeRow(maintable.getSelectedRow());
- }
- itemframe.dispose();
- }
- else if (s.equals("Clear Sale"))
- {
- labelcustom.setText("Rp. 0");
- labeltotal.setText("Charge Rp. 0");
- labelpurchasetotal.setText("Charge Rp. 0");
- s0 = "";
- st = "0";
- for (int i = 0; i < purchasemodel.getRowCount(); i++)
- {
- purchasemodel.removeRow(i);
- }
- purchasetable.setModel(purchasemodel);
- for (int i = 0; i < model.getRowCount(); i++)
- {
- model.setValueAt(0, i, 5);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement