import javax.swing.JFrame; import java.awt.*; import javax.swing.*; import java.awt.event.*; import java.io.*; import java.text.NumberFormat; import javax.swing.border.*; import java.net.*; import java.util.StringTokenizer; public class Inventory extends JFrame { private Container cp = getContentPane(); private static int itemNum[] = new int[100]; private static String name[] = new String[100]; private static int units[] = new int[100]; private static double price[] = new double[100]; private static int i = 0; public Inventory(){ setLayout(new FlowLayout()); } public Inventory(int _itemNum, String _name, int _units, double _price) { itemNum[i] = _itemNum; name[i] = _name; units[i] = _units; price[i] = _price; i = i + 1; } public static int getItemNum(int k) { return itemNum[k]; } public static String getItemName(int k) { return name[k]; } public static int getItemUnits(int k) { return units[k]; } public static double getItemPrice(int k) { return price[k]; } public static void setItemNum(int k,int value) { itemNum[k] = value; } public static void setItemName(int k,String value) { name[k] = value; } public static void setItemUnits(int k,int value) { units[k] = value; } public static void setItemPrice(int k,double value) { price[k] = value; } public static void DeleteItem(int k) { for(int j=k;j= navItem) showInventory(navItem); else showInventory(GetRecordCount() - 1); } else { if (navItem == getCount() - 1) { navItem = 0; } else { navItem += 1; } ShowInventory(navItem); } } if (btnClicked.equals("Previous")) { EnableFields(false); if (isRecordLoadedFromFile) { if (navItem == 0) { navItem = GetRecordCount() - 1; } else { navItem = navItem - 1; } showInventory(navItem); } else { if (navItem == 0) { navItem = getCount() - 1; } else { navItem = navItem - 1; } ShowInventory(navItem); } } if (btnClicked.equals("Last")) { EnableFields(false); if (isRecordLoadedFromFile) { navItem = GetRecordCount() - 1; showInventory(navItem); } else { navItem = getCount() - 1; ShowInventory(navItem); } } if (btnClicked.equals("Save")) { AddModifyInventory("Insert"); } if (btnClicked.equals("Load File")) { isRecordLoadedFromFile = true; if (GetRecordCount() == 0) { JOptionPane.showMessageDialog(null, "No Records Found in the File"); } else { showInventory(0); } } if (btnClicked.equals("Cancel")) { EnableFields(false); cmdbutton[4].setText("Search"); cmdbutton[2].setText("Modify"); cmdbutton[1].setText("Add"); if(isRecordLoadedFromFile) showInventory(navItem); else ShowInventory(navItem); } if(btnClicked.equals("Delete")) { Inventory.DeleteItem(Integer.parseInt(txtfield1[0].getText())); navItem = getCount() -1; JOptionPane.showMessageDialog(null, "Record Successfully deleted"); ShowInventory(navItem); } if(btnClicked.equals("Search")) { cmdbutton[4].setText("GO!"); txtfield1[3].setEnabled(true); } if(btnClicked.equals("GO!")) { boolean valid = true; if (txtfield1[3].getText().trim().length() == 0) { JOptionPane.showMessageDialog(null, "Product Name Required"); valid = false; } if(valid) { int k = Inventory.SearchItem(txtfield1[3].getText().trim()); if(k>=0) { txtfield1[0].setText(Integer.toString(k)); txtfield1[1].setText(genre[k]); txtfield1[2].setText(Integer.toString(Inventory.getItemNum(k))); txtfield1[3].setText(Inventory.getItemName(k)); txtfield1[4].setText(dvdRating[k]); txtfield1[5].setText(Integer.toString(Inventory.getItemUnits(k))); txtfield1[6].setText(Double.toString(Inventory.getItemPrice(k))); txtfield1[7].setText(String.format("%3.2f", Products.valueOfRestockFee(Inventory.getItemPrice(k), getRestockFee(k)))); txtfield1[8].setText(String.format("%3.2f", Products.valueOfInventory(Inventory.getItemPrice(k ), Inventory.getItemUnits(k), getRestockFee(k)))); txtfield1[9].setText(String.format("%3.2f",GetTotalInvVal())); EnableFields(false); cmdbutton[4].setText("Search"); } else { JOptionPane.showMessageDialog(null, "No Matches found"); cmdbutton[4].setText("Search"); EnableFields(false); } } } if(btnClicked.equals("Modify")) { EnableFields(true); cmdbutton[2].setText("Click to Modify!"); } if(btnClicked.equals("Click to Modify!")) { Boolean valid = true; if (txtfield1[1].getText().trim().length() == 0) { JOptionPane.showMessageDialog(null, "Genre Required"); valid = false; } try { Integer.parseInt(txtfield1[2].getText()); } catch (Exception ex) { JOptionPane.showMessageDialog(null, "Invalid Item Number (Only Numbers allowed)"); txtfield1[3].setText(""); valid = false; } if (txtfield1[3].getText().trim().length() == 0) { JOptionPane.showMessageDialog(null, "Product Name Required"); valid = false; } if (txtfield1[4].getText().trim().length() == 0) { JOptionPane.showMessageDialog(null, "Rating Required"); valid = false; } try { Integer.parseInt(txtfield1[5].getText()); } catch (Exception ex) { JOptionPane.showMessageDialog(null, "Invalid Units in Stock (Only Numbers allowed)"); txtfield1[4].setText(""); valid = false; } try { Double.parseDouble(txtfield1[6].getText()); } catch (Exception ex) { JOptionPane.showMessageDialog(null, "Invalid Price (Only Numbers allowed)"); txtfield1[5].setText(""); valid = false; } if (valid) { //setItemNum,setItemName,setItemUnits,setItemPrice Inventory.setItemNum(navItem,Integer.parseInt(txtfield1[1].getText())); Inventory.setItemName(navItem,txtfield1[2].getText()); DVD.setRating(navItem,txtfield1[3].getText()); Inventory.setItemUnits(navItem,Integer.parseInt(txtfield1[4].getText())); Inventory.setItemPrice(navItem,Double.parseDouble(txtfield1[5].getText())); txtfield1[6].setText(String.format("%3.2f", Products.valueOfRestockFee(Inventory.getItemPrice(navItem), getRestockFee(navItem)))); txtfield1[7].setText(String.format("%3.2f", Products.valueOfInventory(Inventory.getItemPrice(navItem ), Inventory.getItemUnits(navItem), getRestockFee(navItem)))); txtfield1[8].setText(String.format("%3.2f",GetTotalInvVal())); EnableFields(false); cmdbutton[2].setText("Modify"); } } if (btnClicked.equals("Add")) { EnableFields(true); txtfield1[0].setText(Integer.toString(getCount())); txtfield1[1].requestFocus(); txtfield1[1].setText(""); txtfield1[2].setText(""); txtfield1[3].setText(""); txtfield1[4].setText(""); txtfield1[5].setText("0"); txtfield1[6].setText("0.00"); cmdbutton[1].setText("Click to Add!"); } if (btnClicked.equals("Click to Add!")) { Boolean valid = true; if (txtfield1[1].getText().trim().length() == 0) { JOptionPane.showMessageDialog(null, "Genre Required"); valid = false; } try { Integer.parseInt(txtfield1[2].getText()); } catch (Exception ex) { JOptionPane.showMessageDialog(null, "Invalid Item Number (Only Numbers allowed)"); txtfield1[3].setText(""); valid = false; } if (txtfield1[3].getText().trim().length() == 0) { JOptionPane.showMessageDialog(null, "Product Name Required"); valid = false; } if (txtfield1[4].getText().trim().length() == 0) { JOptionPane.showMessageDialog(null, "Rating Required"); valid = false; } try { Integer.parseInt(txtfield1[5].getText()); } catch (Exception ex) { JOptionPane.showMessageDialog(null, "Invalid Units in Stock (Only Numbers allowed)"); txtfield1[4].setText(""); valid = false; } try { Double.parseDouble(txtfield1[6].getText()); } catch (Exception ex) { JOptionPane.showMessageDialog(null, "Invalid Price (Only Numbers allowed)"); txtfield1[5].setText(""); valid = false; } if (valid) { DVD r = new DVD(txtfield1[1].getText(),txtfield1[4].getText(), 0.05, Integer.parseInt(txtfield1[2].getText()), txtfield1[3].getText(), Integer.parseInt(txtfield1[5].getText()), Double.parseDouble(txtfield1[6].getText())); txtfield1[7].setText(String.format("%3.2f", Products.valueOfRestockFee(Inventory.getItemPrice(getCount() - 1), getRestockFee(getCount() - 1)))); txtfield1[8].setText(String.format("%3.2f", Products.valueOfInventory(Inventory.getItemPrice(getCount() -1 ), Inventory.getItemUnits(getCount() -1), getRestockFee(getCount() - 1)))); txtfield1[9].setText(String.format("%3.2f",GetTotalInvVal())); navItem = getCount() - 1; EnableFields(false); cmdbutton[1].setText("Add"); } } } } // End DVD Class