import java.awt.*; import java.awt.event.*; import java.text.NumberFormat; // used to format currency import javax.swing.*; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; class InventoryMain implements ActionListener { CD[] product; JTextField[] fields; NumberFormat nf; public void actionPerformed(ActionEvent e) { int index = ((JComboBox)e.getSource()).getSelectedIndex(); populateFields(index); } public static void main(String[] args) { try { UIManager.setLookAndFeel( "com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); } catch (Exception e) { System.err.println(e.getClass().getName() + ": " + e.getMessage()); } InventoryMain test = new InventoryMain(); test.initCD(); test.showGUI(); test.populateFields(0); } /** * */ public void initCD() { //Create an array product = new CD[10]; //fill in the classes product[0] = new CD( 1, "Crowbar" , 20.00, 10, "00722"); product[1] = new CD( 2, "Pantera" , 20.00, 10, "00263"); product[2] = new CD( 3, "Ozzy" , 15.00, 10, "00142"); product[3] = new CD( 4, "Soulfly" , 18.00, 10, "00553"); product[4] = new CD( 5, "Down", 24.00, 10, "00789"); product[5] = new CD( 6, "God Forbid" , 10.00, 10, "00712"); product[6] = new CD( 7, "Black Label Society" , 16.00, 10, "00458" ); product[7] = new CD( 8, "Saint Vitus" , 15.00, 10, "00889"); product[8] = new CD( 9, "Clearlight" , 15.00, 10, "00897"); product[9] = new CD( 10, "Testament" , 15.00, 10, "00656"); //Sort elements in array in alphabetical order by product name // product[0].sortItems(product); final JButton firstBtn = new JButton("First"); // first button final JButton prevBtn = new JButton("Previous"); // previous button final JButton nextBtn = new JButton("Next"); // next button final JButton lastBtn = new JButton("Last"); // last button final JLabel label; // logo final JTextArea textArea; // text area for product list final JPanel buttonJPanel; // panel to hold buttons //JLabel constructor for logo Icon logo = new ImageIcon("C:/logo.jpg"); // load logo label = new JLabel(logo); // create logo label label.setToolTipText("Company Logo"); // create tooltip } private void showGUI() { JLabel l; JButton b; fields = new JTextField[9]; JComboBox combo = new JComboBox(); for(int j = 0; j < product.length; j++) combo.addItem(product[j].getName()); combo.addActionListener(this); JFrame f = new JFrame("InventoryGUI"); Container cp = f.getContentPane(); cp.setLayout(new GridBagLayout()); cp.setBackground(UIManager.getColor("control")); GridBagConstraints c = new GridBagConstraints(); c.gridx = 0; c.gridy = GridBagConstraints.RELATIVE; c.gridwidth = 1; c.gridheight = 1; c.insets = new Insets(2, 2, 2, 2); c.anchor = GridBagConstraints.EAST; cp.add(l = new JLabel("Item Number:", SwingConstants.CENTER), c); l.setDisplayedMnemonic('a'); cp.add(l = new JLabel("Item Name:", SwingConstants.CENTER), c); l.setDisplayedMnemonic('b'); cp.add(l = new JLabel("Number of Units in Stock:", SwingConstants.CENTER), c); l.setDisplayedMnemonic('c'); cp.add(l = new JLabel("Price per Unit: $", SwingConstants.CENTER), c); l.setDisplayedMnemonic('d'); cp.add(l = new JLabel("Total cost of This Item: $", SwingConstants.CENTER), c); l.setDisplayedMnemonic('e'); cp.add(l = new JLabel("Total Value of All Merchandise in Inventory: $", SwingConstants.CENTER), c); l.setDisplayedMnemonic('f'); cp.add(l = new JLabel("Item Code:", SwingConstants.CENTER), c); l.setDisplayedMnemonic('g'); cp.add(l = new JLabel("Product Restocking Fee: $", SwingConstants.CENTER), c); l.setDisplayedMnemonic('h'); cp.add(combo, c); c.gridx = 1; c.gridy = 0; c.weightx = 1.0; c.fill = GridBagConstraints.HORIZONTAL; c.anchor = GridBagConstraints.CENTER; cp.add(fields[0] = new JTextField(), c); fields[0].setFocusAccelerator('a'); c.gridx = 1; c.gridy = GridBagConstraints.RELATIVE; cp.add(fields[1] = new JTextField(), c); fields[1].setFocusAccelerator('b'); cp.add(fields[2] = new JTextField(), c); fields[2].setFocusAccelerator('c'); cp.add(fields[3] = new JTextField(), c); fields[3].setFocusAccelerator('d'); cp.add(fields[4] = new JTextField(), c); fields[4].setFocusAccelerator('e'); cp.add(fields[5] = new JTextField(), c); fields[5].setFocusAccelerator('f'); cp.add(fields[6] = new JTextField(), c); fields[6].setFocusAccelerator('g'); cp.add(fields[7] = new JTextField(), c); fields[7].setFocusAccelerator('h'); cp.add(fields[8] = new JTextField(), c); fields[8].setFocusAccelerator('i'); c.weightx = 0.0; c.fill = GridBagConstraints.NONE; cp.add(b = new JButton("OK"), c); cp.add(b = new JButton("First"),c); // set up panel cp.add(b = new JButton("Prev"),c); cp.add(b = new JButton("Next"),c); cp.add(b = new JButton("Last"),c); b.setMnemonic('o'); f.pack(); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent evt) { System.exit(0); } }); f.setVisible(true); } private void populateFields(int index) { CD cd = product[index]; fields[0].setText(Long.toString(cd.getNumberCode())); fields[1].setText(cd.getName()); fields[2].setText(Long.toString(cd.getUnits())); fields[3].setText(Double.toString(cd.getPrice())); fields[4].setText(Double.toString(cd.getSum())); fields[5].setText(Double.toString(cd.totalAllInventory(product))); fields[6].setText(cd.getCode()); fields[7].setText(Double.toString(cd.getSum()*.05)); } } class CD { int itemNumber; String name; int units; double price; String itemCode; public CD(int n, String name, double price, int units, String itemCo) { itemNumber = n; this.name = name; this.price = price; this.units = units; itemCode = itemCo; } public int getNumberCode() { return itemNumber; } public String getName() { return name; } public int getUnits() { return units; } public double getPrice() { return price; } public double getSum() { return units*price; } public String getCode() { return itemCode; } public double totalAllInventory(CD[] cds) { double total = 0; for(int j = 0; j < cds.length; j++) total += cds[j].getSum(); return total; } } public class InventoryI { String productnumber; String name; int numberofunits; double priceperunit; String itemcode; // Create a new instance of Inventory // main constructor for the class public InventoryI(String Item_Number, String Item_Name, int Items_in_Stock, double Item_Price, String Item_Code) { productnumber = Item_Number; name = Item_Name; numberofunits = Items_in_Stock; priceperunit = Item_Price; itemcode = Item_Code; } public void setItemName(String Item_Name) { // sets the items name name = Item_Name; } public void setItemCode(String Item_Code) { // sets the items name itemcode = Item_Code; } public void setItemNumber(String Item_Number) { // Sets the Product =Number // for the item productnumber = Item_Number; } public void setItemsInStock(int Items_in_Stock) { // sets the =number of // units in stock numberofunits = Items_in_Stock; } public void setItemPrice(double Item_Price) { // sets the price of =the // item priceperunit = Item_Price; } public String getItemName() { // returns the Product Name of this item return name; } public String getItemCode() { // returns the Product Name of this item return itemcode; } public String getItemNumber() { // returns the Product Number of the =item return productnumber; } public int getItemsInStock() { // returns how many units are in stock return numberofunits; } public double getItemPrice() { // returns the price of the item return priceperunit; } public double getInventoryIValue() { // returns the total value of =the stock // for this item return priceperunit * numberofunits; } public static double getTotalValueOfAllInventory(InventoryI [] inv) { double tot = 0.0; for(int i = 0; i < inv.length; i++) tot += inv[i].getInventoryIValue(); return tot; } public static InventoryI[] sort(InventoryI [] inventory) { InventoryI temp[] = new InventoryI[1]; //sorting the array using Bubble Sort for(int j = 0; j < inventory.length - 1; j++) { for(int k = 0; k < inventory.length - 1; k++) { if(inventory[k].getItemName().compareToIgnoreCase(inventory[k+1].getItemName()) > 0) { temp[0] = inventory[k]; inventory[k] = inventory[k+1]; inventory[k+1] = temp[0]; }//end if }//end for loop }//end for loop return inventory; } public String toString() { StringBuffer sb = new StringBuffer(); sb.append("CD Title: \t").append(name).append("\n"); sb.append("Item Code: \t").append(itemcode).append("\n"); sb.append("Item #: \t").append(productnumber).append("\n"); sb.append("Number in stock:\t").append(numberofunits).append("\n"); sb.append("Price: \t").append(String.format("$%.2f%n", priceperunit)); sb.append("Inventory Value:\t").append(String.format("$%.2f%n", this.getInventoryIValue())); return sb.toString(); } }
import java.awt.*; import java.awt.event.*; import java.text.NumberFormat; // used to format currency import javax.swing.*; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; class InventoryMain extends Frame implements ActionListener { CD[] product; JTextField[] fields; NumberFormat nf; JButton b; public void actionPerformed(ActionEvent e) { int index = ((JComboBox)e.getSource()).getSelectedIndex(); populateFields(index); } public static void main(String[] args) { try { UIManager.setLookAndFeel( "com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); } catch (Exception e) { System.err.println(e.getClass().getName() + ": " + e.getMessage()); } InventoryMain test = new InventoryMain(); test.initCD(); test.showGUI(); test.populateFields(0); } /** * */ public void initCD() { //Create an array product = new CD[10]; //fill in the classes product[0] = new CD( 1, "Crowbar" , 20.00, 10, "00722"); product[1] = new CD( 2, "Pantera" , 20.00, 10, "00263"); product[2] = new CD( 3, "Ozzy" , 15.00, 10, "00142"); product[3] = new CD( 4, "Soulfly" , 18.00, 10, "00553"); product[4] = new CD( 5, "Down", 24.00, 10, "00789"); product[5] = new CD( 6, "God Forbid" , 10.00, 10, "00712"); product[6] = new CD( 7, "Black Label Society" , 16.00, 10, "00458" ); product[7] = new CD( 8, "Saint Vitus" , 15.00, 10, "00889"); product[8] = new CD( 9, "Clearlight" , 15.00, 10, "00897"); product[9] = new CD( 10, "Testament" , 15.00, 10, "00656"); //Sort elements in array in alphabetical order by product name // product[0].sortItems(product); b = new JButton("First"); // first button b.addActionListener(this); b = new JButton("Previous"); // previous button b.addActionListener(this); b = new JButton("Next"); // next button b.addActionListener(this); b = new JButton("Last"); // last button } // inner class for button event handling private class ButtonHandler implements ActionListener { // handle button event public void actionPerformed( ActionEvent event ) { // System.out.println(event.getActionCommand()); // See which button was pressed if (event.getActionCommand()== "Next"){ } else if (event.getActionCommand()== "Prev"){ } else if (event.getActionCommand()== "Last"){ } else if (event.getActionCommand()== "First"){ } } // end method actionPerformed } // end private inner class ButtonHandler private void showGUI() { JLabel l; JButton b; fields = new JTextField[9]; JComboBox combo = new JComboBox(); for(int j = 0; j < product.length; j++) combo.addItem(product[j].getName()); combo.addActionListener(this); JFrame f = new JFrame("InventoryGUI"); Container cp = f.getContentPane(); cp.setLayout(new GridBagLayout()); cp.setBackground(UIManager.getColor("control")); GridBagConstraints c = new GridBagConstraints(); c.gridx = 0; c.gridy = GridBagConstraints.RELATIVE; c.gridwidth = 1; c.gridheight = 1; c.insets = new Insets(2, 2, 2, 2); c.anchor = GridBagConstraints.EAST; cp.add(l = new JLabel("Item Number:", SwingConstants.CENTER), c); l.setDisplayedMnemonic('a'); cp.add(l = new JLabel("Item Name:", SwingConstants.CENTER), c); l.setDisplayedMnemonic('b'); cp.add(l = new JLabel("Number of Units in Stock:", SwingConstants.CENTER), c); l.setDisplayedMnemonic('c'); cp.add(l = new JLabel("Price per Unit: $", SwingConstants.CENTER), c); l.setDisplayedMnemonic('d'); cp.add(l = new JLabel("Total cost of This Item: $", SwingConstants.CENTER), c); l.setDisplayedMnemonic('e'); cp.add(l = new JLabel("Total Value of All Merchandise in Inventory: $", SwingConstants.CENTER), c); l.setDisplayedMnemonic('f'); cp.add(l = new JLabel("Item Code:", SwingConstants.CENTER), c); l.setDisplayedMnemonic('g'); cp.add(l = new JLabel("Product Restocking Fee: $", SwingConstants.CENTER), c); l.setDisplayedMnemonic('h'); cp.add(combo, c); c.gridx = 1; c.gridy = 0; c.weightx = 1.0; c.fill = GridBagConstraints.HORIZONTAL; c.anchor = GridBagConstraints.CENTER; cp.add(fields[0] = new JTextField(), c); fields[0].setFocusAccelerator('a'); c.gridx = 1; c.gridy = GridBagConstraints.RELATIVE; cp.add(fields[1] = new JTextField(), c); fields[1].setFocusAccelerator('b'); cp.add(fields[2] = new JTextField(), c); fields[2].setFocusAccelerator('c'); cp.add(fields[3] = new JTextField(), c); fields[3].setFocusAccelerator('d'); cp.add(fields[4] = new JTextField(), c); fields[4].setFocusAccelerator('e'); cp.add(fields[5] = new JTextField(), c); fields[5].setFocusAccelerator('f'); cp.add(fields[6] = new JTextField(), c); fields[6].setFocusAccelerator('g'); cp.add(fields[7] = new JTextField(), c); fields[7].setFocusAccelerator('h'); cp.add(fields[8] = new JTextField(), c); fields[8].setFocusAccelerator('i'); c.weightx = 0.0; c.fill = GridBagConstraints.NONE; cp.add(b = new JButton("OK"), c); cp.add(b = new JButton("First"),c); cp.add(b = new JButton("Prev"),c); cp.add(b = new JButton("Next"),c); cp.add(b = new JButton("Last"),c); b.setMnemonic('o'); f.pack(); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent evt) { System.exit(0); } }); f.setVisible(true); } private void populateFields(int index) { CD cd = product[index]; fields[0].setText(Long.toString(cd.getNumberCode())); fields[1].setText(cd.getName()); fields[2].setText(Long.toString(cd.getUnits())); fields[3].setText(Double.toString(cd.getPrice())); fields[4].setText(Double.toString(cd.getSum())); fields[5].setText(Double.toString(cd.totalAllInventory(product))); fields[6].setText(cd.getCode()); fields[7].setText(Double.toString(cd.getSum()*.05)); } } class CD { int itemNumber; String name; int units; double price; String itemCode; String command; public CD(int n, String name, double price, int units, String itemCo) { itemNumber = n; this.name = name; this.price = price; this.units = units; itemCode = itemCo; } public int getNumberCode() { return itemNumber; } public String getName() { return name; } public int getUnits() { return units; } public double getPrice() { return price; } public double getSum() { return units*price; } public String getCode() { return itemCode; } public String getActionnCommand() {return command; } public double totalAllInventory(CD[] cds) { double total = 0; for(int j = 0; j < cds.length; j++) total += cds[j].getSum(); return total; } } public class InventoryI { String productnumber; String name; int numberofunits; double priceperunit; String itemcode; String command; // Create a new instance of Inventory // main constructor for the class public InventoryI(String Item_Number, String Item_Name, int Items_in_Stock, double Item_Price, String Item_Code) { productnumber = Item_Number; name = Item_Name; numberofunits = Items_in_Stock; priceperunit = Item_Price; itemcode = Item_Code; } public void setItemName(String Item_Name) { // sets the items name name = Item_Name; } public void setItemCode(String Item_Code) { // sets the items name itemcode = Item_Code; } public void setItemNumber(String Item_Number) { // Sets the Product =Number // for the item productnumber = Item_Number; } public void setItemsInStock(int Items_in_Stock) { // sets the =number of // units in stock numberofunits = Items_in_Stock; } public void setItemPrice(double Item_Price) { // sets the price of =the // item priceperunit = Item_Price; } public String getItemName() { // returns the Product Name of this item return name; } public String getItemCode() { // returns the Product Name of this item return itemcode; } public String getItemNumber() { // returns the Product Number of the =item return productnumber; } public int getItemsInStock() { // returns how many units are in stock return numberofunits; } public double getItemPrice() { // returns the price of the item return priceperunit; } public double getInventoryIValue() { // returns the total value of =the stock // for this item return priceperunit * numberofunits; } public static double getTotalValueOfAllInventory(InventoryI [] inv) { double tot = 0.0; for(int i = 0; i < inv.length; i++) tot += inv[i].getInventoryIValue(); return tot; } public static InventoryI[] sort(InventoryI [] inventory) { InventoryI temp[] = new InventoryI[1]; //sorting the array using Bubble Sort for(int j = 0; j < inventory.length - 1; j++) { for(int k = 0; k < inventory.length - 1; k++) { if(inventory[k].getItemName().compareToIgnoreCase(inventory[k+1].getItemName()) > 0) { temp[0] = inventory[k]; inventory[k] = inventory[k+1]; inventory[k+1] = temp[0]; }//end if }//end for loop }//end for loop return inventory; } public String toString() { StringBuffer sb = new StringBuffer(); sb.append("CD Title: \t").append(name).append("\n"); sb.append("Item Code: \t").append(itemcode).append("\n"); sb.append("Item #: \t").append(productnumber).append("\n"); sb.append("Number in stock:\t").append(numberofunits).append("\n"); sb.append("Price: \t").append(String.format("$%.2f%n", priceperunit)); sb.append("Inventory Value:\t").append(String.format("$%.2f%n", this.getInventoryIValue())); return sb.toString(); } }
b = new JButton("First"); // first button b.addActionListener(this); b = new JButton("Previous"); // previous button b.addActionListener(this); b = new JButton("Next"); // next button b.addActionListener(this);
import java.awt.*; import java.awt.event.*; import java.text.NumberFormat; // used to format currency import javax.swing.*; import javax.swing.Icon; import javax.swing.ImageIcon; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTextArea; class InventoryMain extends Frame implements ActionListener { CD[] product; JTextField[] fields; NumberFormat nf; JButton b; public void actionPerformed(ActionEvent e) { int index = ((JComboBox)e.getSource()).getSelectedIndex(); populateFields(index); } // inner class for button event handling private class ButtonHandler implements ActionListener { // handle button event public void actionPerformed( ActionEvent event ) { System.out.println(event.getActionCommand()); // See which button was pressed if (event.getActionCommand()== "Next"){ } else if (event.getActionCommand()== "Prev"){ } else if (event.getActionCommand()== "Last"){ } else if (event.getActionCommand()== "First"){ } } // end method actionPerformed } // end private inner class ButtonHandler public static void main(String[] args) { try { UIManager.setLookAndFeel( "com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); } catch (Exception e) { System.err.println(e.getClass().getName() + ": " + e.getMessage()); } InventoryMain test = new InventoryMain(); test.initCD(); test.showGUI(); test.populateFields(0); } /** * */ public void initCD() { //Create an array product = new CD[10]; //fill in the classes product[0] = new CD( 1, "Crowbar" , 20.00, 10, "00722"); product[1] = new CD( 2, "Pantera" , 20.00, 10, "00263"); product[2] = new CD( 3, "Ozzy" , 15.00, 10, "00142"); product[3] = new CD( 4, "Soulfly" , 18.00, 10, "00553"); product[4] = new CD( 5, "Down", 24.00, 10, "00789"); product[5] = new CD( 6, "God Forbid" , 10.00, 10, "00712"); product[6] = new CD( 7, "Black Label Society" , 16.00, 10, "00458" ); product[7] = new CD( 8, "Saint Vitus" , 15.00, 10, "00889"); product[8] = new CD( 9, "Clearlight" , 15.00, 10, "00897"); product[9] = new CD( 10, "Testament" , 15.00, 10, "00656"); //Sort elements in array in alphabetical order by product name // product[0].sortItems(product); b = new JButton("First"); // first button b = new JButton("Previous"); // previous button b = new JButton("Next"); // next button b = new JButton("Last"); // last button } private void showGUI() { JLabel l; JButton b; fields = new JTextField[9]; JComboBox combo = new JComboBox(); for(int j = 0; j < product.length; j++) combo.addItem(product[j].getName()); JFrame f = new JFrame("InventoryGUI"); Container cp = f.getContentPane(); cp.setLayout(new GridBagLayout()); cp.setBackground(UIManager.getColor("control")); GridBagConstraints c = new GridBagConstraints(); c.gridx = 0; c.gridy = GridBagConstraints.RELATIVE; c.gridwidth = 1; c.gridheight = 1; c.insets = new Insets(2, 2, 2, 2); c.anchor = GridBagConstraints.EAST; cp.add(l = new JLabel("Item Number:", SwingConstants.CENTER), c); l.setDisplayedMnemonic('a'); cp.add(l = new JLabel("Item Name:", SwingConstants.CENTER), c); l.setDisplayedMnemonic('b'); cp.add(l = new JLabel("Number of Units in Stock:", SwingConstants.CENTER), c); l.setDisplayedMnemonic('c'); cp.add(l = new JLabel("Price per Unit: $", SwingConstants.CENTER), c); l.setDisplayedMnemonic('d'); cp.add(l = new JLabel("Total cost of This Item: $", SwingConstants.CENTER), c); l.setDisplayedMnemonic('e'); cp.add(l = new JLabel("Total Value of All Merchandise in Inventory: $", SwingConstants.CENTER), c); l.setDisplayedMnemonic('f'); cp.add(l = new JLabel("Item Code:", SwingConstants.CENTER), c); l.setDisplayedMnemonic('g'); cp.add(l = new JLabel("Product Restocking Fee: $", SwingConstants.CENTER), c); l.setDisplayedMnemonic('h'); cp.add(combo, c); c.gridx = 1; c.gridy = 0; c.weightx = 1.0; c.fill = GridBagConstraints.HORIZONTAL; c.anchor = GridBagConstraints.CENTER; cp.add(fields[0] = new JTextField(), c); fields[0].setFocusAccelerator('a'); c.gridx = 1; c.gridy = GridBagConstraints.RELATIVE; cp.add(fields[1] = new JTextField(), c); fields[1].setFocusAccelerator('b'); cp.add(fields[2] = new JTextField(), c); fields[2].setFocusAccelerator('c'); cp.add(fields[3] = new JTextField(), c); fields[3].setFocusAccelerator('d'); cp.add(fields[4] = new JTextField(), c); fields[4].setFocusAccelerator('e'); cp.add(fields[5] = new JTextField(), c); fields[5].setFocusAccelerator('f'); cp.add(fields[6] = new JTextField(), c); fields[6].setFocusAccelerator('g'); cp.add(fields[7] = new JTextField(), c); fields[7].setFocusAccelerator('h'); cp.add(fields[8] = new JTextField(), c); fields[8].setFocusAccelerator('i'); c.weightx = 0.0; c.fill = GridBagConstraints.NONE; cp.add(b = new JButton("OK"), c); b.addActionListener(this); cp.add(b = new JButton("First"),c); b.addActionListener(this); cp.add(b = new JButton("Prev"),c); b.addActionListener(this); cp.add(b = new JButton("Next"),c); b.addActionListener(this); cp.add(b = new JButton("Last"),c); b.addActionListener(this); b.setMnemonic('o'); f.pack(); f.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent evt) { System.exit(0); } }); f.setVisible(true); } private void populateFields(int index) { CD cd = product[index]; fields[0].setText(Long.toString(cd.getNumberCode())); fields[1].setText(cd.getName()); fields[2].setText(Long.toString(cd.getUnits())); fields[3].setText(Double.toString(cd.getPrice())); fields[4].setText(Double.toString(cd.getSum())); fields[5].setText(Double.toString(cd.totalAllInventory(product))); fields[6].setText(cd.getCode()); fields[7].setText(Double.toString(cd.getSum()*.05)); } } class CD { int itemNumber; String name; int units; double price; String itemCode; String command; public CD(int n, String name, double price, int units, String itemCo) { itemNumber = n; this.name = name; this.price = price; this.units = units; itemCode = itemCo; } public int getNumberCode() { return itemNumber; } public String getName() { return name; } public int getUnits() { return units; } public double getPrice() { return price; } public double getSum() { return units*price; } public String getCode() { return itemCode; } public String getActionnCommand() {return command; } public double totalAllInventory(CD[] cds) { double total = 0; for(int j = 0; j < cds.length; j++) total += cds[j].getSum(); return total; } } public class InventoryI { String productnumber; String name; int numberofunits; double priceperunit; String itemcode; String command; // Create a new instance of Inventory // main constructor for the class public InventoryI(String Item_Number, String Item_Name, int Items_in_Stock, double Item_Price, String Item_Code) { productnumber = Item_Number; name = Item_Name; numberofunits = Items_in_Stock; priceperunit = Item_Price; itemcode = Item_Code; } public void setItemName(String Item_Name) { // sets the items name name = Item_Name; } public void setItemCode(String Item_Code) { // sets the items name itemcode = Item_Code; } public void setItemNumber(String Item_Number) { // Sets the Product =Number // for the item productnumber = Item_Number; } public void setItemsInStock(int Items_in_Stock) { // sets the =number of // units in stock numberofunits = Items_in_Stock; } public void setItemPrice(double Item_Price) { // sets the price of =the // item priceperunit = Item_Price; } public String getItemName() { // returns the Product Name of this item return name; } public String getItemCode() { // returns the Product Name of this item return itemcode; } public String getItemNumber() { // returns the Product Number of the =item return productnumber; } public int getItemsInStock() { // returns how many units are in stock return numberofunits; } public double getItemPrice() { // returns the price of the item return priceperunit; } public double getInventoryIValue() { // returns the total value of =the stock // for this item return priceperunit * numberofunits; } public static double getTotalValueOfAllInventory(InventoryI [] inv) { double tot = 0.0; for(int i = 0; i < inv.length; i++) tot += inv[i].getInventoryIValue(); return tot; } public static InventoryI[] sort(InventoryI [] inventory) { InventoryI temp[] = new InventoryI[1]; //sorting the array using Bubble Sort for(int j = 0; j < inventory.length - 1; j++) { for(int k = 0; k < inventory.length - 1; k++) { if(inventory[k].getItemName().compareToIgnoreCase(inventory[k+1].getItemName()) > 0) { temp[0] = inventory[k]; inventory[k] = inventory[k+1]; inventory[k+1] = temp[0]; }//end if }//end for loop }//end for loop return inventory; } public String toString() { StringBuffer sb = new StringBuffer(); sb.append("CD Title: \t").append(name).append("\n"); sb.append("Item Code: \t").append(itemcode).append("\n"); sb.append("Item #: \t").append(productnumber).append("\n"); sb.append("Number in stock:\t").append(numberofunits).append("\n"); sb.append("Price: \t").append(String.format("$%.2f%n", priceperunit)); sb.append("Inventory Value:\t").append(String.format("$%.2f%n", this.getInventoryIValue())); return sb.toString(); } }
import java.awt.*;
import java.awt.event.*;
import java.text.NumberFormat; // used to format currency
import javax.swing.*;
import javax.swing.Icon;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
class InventoryMain extends Frame implements ActionListener
{
CD[] product;
JTextField[] fields;
NumberFormat nf;
JButton jbtOk, jbtFirst, jbtPrev, jbtNext, jbtLast;
public static void main(String[] args)
{
try
{
UIManager.setLookAndFeel(
"com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
}
catch (Exception e)
{
System.err.println(e.getClass().getName() + ": " + e.getMessage());
}
InventoryMain test = new InventoryMain();
test.initCD();
test.showGUI();
test.populateFields(0);
}
/* DOESN'T DO ANYTHING
public void actionPerformed(ActionEvent e)
{
int index = ((JComboBox)e.getSource()).getSelectedIndex();
populateFields(index);
}
// inner class for button event handling
private class ButtonHandler implements ActionListener
{
// handle button event
public void actionPerformed( ActionEvent event )
{
System.out.println(event.getActionCommand());
// See which button was pressed
if (event.getActionCommand()== "Next"){
}
else if (event.getActionCommand()== "Prev"){
}
else if (event.getActionCommand()== "Last"){
}
else if (event.getActionCommand()== "First"){
}
} // end method actionPerformed
} // end private inner class ButtonHandler*/
public void actionPerformed(ActionEvent ae)
{
if(ae.getSource() == jbtOk)
{
// add OK button functionality
System.out.println("OK pressed");
}
if(ae.getSource() == jbtFirst)
{
// add First button functionality
System.out.println("FIRST pressed");
}
if(ae.getSource() == jbtPrev)
{
// add Previous button functionality
System.out.println("PREVIOUS pressed");
}
if(ae.getSource() == jbtNext)
{
// add Next button functionality
System.out.println("NEXT pressed");
}
if(ae.getSource() == jbtLast)
{
// add Last button functionality
System.out.println("LAST pressed");
}
}
public void initCD()
{
//Create an array
product = new CD[10];
//fill in the classes
product[0] = new CD( 1, "Crowbar" , 20.00, 10, "00722");
product[1] = new CD( 2, "Pantera" , 20.00, 10, "00263");
product[2] = new CD( 3, "Ozzy" , 15.00, 10, "00142");
product[3] = new CD( 4, "Soulfly" , 18.00, 10, "00553");
product[4] = new CD( 5, "Down", 24.00, 10, "00789");
product[5] = new CD( 6, "God Forbid" , 10.00, 10, "00712");
product[6] = new CD( 7, "Black Label Society" , 16.00, 10, "00458" );
product[7] = new CD( 8, "Saint Vitus" , 15.00, 10, "00889");
product[8] = new CD( 9, "Clearlight" , 15.00, 10, "00897");
product[9] = new CD( 10, "Testament" , 15.00, 10, "00656");
//Sort elements in array in alphabetical order by product name
// product[0].sortItems(product);
/* WHAT IS THIS FOR ? ? ?
b = new JButton("First"); // first button
b = new JButton("Previous"); // previous button
b = new JButton("Next"); // next button
b = new JButton("Last"); // last button */
}
private void showGUI()
{
JLabel l;
/* ONE BUTTON DOESN'T DO FOR ALL ! ! !
ALSO THIS IS SECOND DECLARATION OF THE BUTTON, ONE ON THE START
JButton b;*/
fields = new JTextField[9];
JComboBox combo = new JComboBox();
for(int j = 0; j < product.length; j++)
combo.addItem(product[j].getName());
JFrame f = new JFrame("InventoryGUI");
Container cp = f.getContentPane();
cp.setLayout(new GridBagLayout());
cp.setBackground(UIManager.getColor("control"));
GridBagConstraints c = new GridBagConstraints();
c.gridx = 0;
c.gridy = GridBagConstraints.RELATIVE;
c.gridwidth = 1;
c.gridheight = 1;
c.insets = new Insets(2, 2, 2, 2);
c.anchor = GridBagConstraints.EAST;
cp.add(l = new JLabel("Item Number:", SwingConstants.CENTER), c); l.setDisplayedMnemonic('a');
cp.add(l = new JLabel("Item Name:", SwingConstants.CENTER), c); l.setDisplayedMnemonic('b');
cp.add(l = new JLabel("Number of Units in Stock:", SwingConstants.CENTER), c); l.setDisplayedMnemonic('c');
cp.add(l = new JLabel("Price per Unit: $", SwingConstants.CENTER), c); l.setDisplayedMnemonic('d');
cp.add(l = new JLabel("Total cost of This Item: $", SwingConstants.CENTER), c); l.setDisplayedMnemonic('e');
cp.add(l = new JLabel("Total Value of All Merchandise in Inventory: $",
SwingConstants.CENTER), c); l.setDisplayedMnemonic('f');
cp.add(l = new JLabel("Item Code:", SwingConstants.CENTER), c); l.setDisplayedMnemonic('g');
cp.add(l = new JLabel("Product Restocking Fee: $", SwingConstants.CENTER), c); l.setDisplayedMnemonic('h');
cp.add(combo, c);
c.gridx = 1;
c.gridy = 0;
c.weightx = 1.0;
c.fill = GridBagConstraints.HORIZONTAL;
c.anchor = GridBagConstraints.CENTER;
cp.add(fields[0] = new JTextField(), c);
fields[0].setFocusAccelerator('a');
c.gridx = 1;
c.gridy = GridBagConstraints.RELATIVE;
cp.add(fields[1] = new JTextField(), c); fields[1].setFocusAccelerator('b');
cp.add(fields[2] = new JTextField(), c); fields[2].setFocusAccelerator('c');
cp.add(fields[3] = new JTextField(), c); fields[3].setFocusAccelerator('d');
cp.add(fields[4] = new JTextField(), c); fields[4].setFocusAccelerator('e');
cp.add(fields[5] = new JTextField(), c); fields[5].setFocusAccelerator('f');
cp.add(fields[6] = new JTextField(), c); fields[6].setFocusAccelerator('g');
cp.add(fields[7] = new JTextField(), c); fields[7].setFocusAccelerator('h');
cp.add(fields[8] = new JTextField(), c); fields[8].setFocusAccelerator('i');
c.weightx = 0.0;
c.fill = GridBagConstraints.NONE;
jbtOk = new JButton("OK");
jbtOk.addActionListener(this);
jbtFirst = new JButton("First");
jbtFirst.addActionListener(this);
jbtPrev = new JButton("Previous");
jbtPrev.addActionListener(this);
jbtNext = new JButton("Next");
jbtNext.addActionListener(this);
jbtLast = new JButton("Last");
jbtLast.addActionListener(this);
cp.add(jbtOk, c);
cp.add(jbtFirst, c);
cp.add(jbtPrev, c);
cp.add(jbtNext, c);
cp.add(jbtLast, c);
/* INTERESTING SHORTCUT BUT YOU OVERWRITING YOUR BUTTON b
THAT IS ONE OF THE REASONS WHY NOTHING IS WORKING FOR YOU ! ! !
cp.add(b = new JButton("OK"), c);
b.addActionListener(this);
cp.add(b = new JButton("First"),c);
b.addActionListener(this);
cp.add(b = new JButton("Prev"),c);
b.addActionListener(this);
cp.add(b = new JButton("Next"),c);
b.addActionListener(this);
cp.add(b = new JButton("Last"),c);
b.addActionListener(this);*/
/* ASIGN MNEMONIC TO WHICH OF THE BUTTONS ? ? ?
b.setMnemonic('o');*/
f.pack();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
/* ABOVE IS SIMPLER SOLUTION
f.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent evt)
{
System.exit(0);
}
});*/
f.setVisible(true);
}
private void populateFields(int index) {
CD cd = product[index];
fields[0].setText(Long.toString(cd.getNumberCode()));
fields[1].setText(cd.getName());
fields[2].setText(Long.toString(cd.getUnits()));
fields[3].setText(Double.toString(cd.getPrice()));
fields[4].setText(Double.toString(cd.getSum()));
fields[5].setText(Double.toString(cd.totalAllInventory(product)));
fields[6].setText(cd.getCode());
fields[7].setText(Double.toString(cd.getSum()*.05));
}
}int currentIndex; then moving within your array is trivial. You just increment the index as needed and populate the fields based on that index. | DaniWeb Message | |
| Cancel Changes | |