| | |
Inventory program part 5 help
![]() |
•
•
Join Date: Mar 2007
Posts: 25
Reputation:
Solved Threads: 0
I need to
Modify the Inventory Program by adding a button to the GUI that allows the user to move to the first item, the previous item, the next item, and the last item in the inventory. If the first item is displayed and the user clicks on the Previous button, the last item should display. If the last item is displayed and the user clicks on the Next button, the first item
should display.
Add a company logo to the GUI using Java graphics classes.
This is what I have so far.
Modify the Inventory Program by adding a button to the GUI that allows the user to move to the first item, the previous item, the next item, and the last item in the inventory. If the first item is displayed and the user clicks on the Previous button, the last item should display. If the last item is displayed and the user clicks on the Next button, the first item
should display.
Add a company logo to the GUI using Java graphics classes.
This is what I have so far.
Java Syntax (Toggle Plain Text)
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(); } }
You actually define the buttons twice, once in the initCD() method and then again in showGUI(), but you do not add any ActionListeners (or Actions, both are valid) to be executed when the buttons are pressed.
How To Use Actions
How To Use Actions
Last edited by Ezzaral; Sep 6th, 2007 at 5:07 pm. Reason: added link
•
•
Join Date: Mar 2007
Posts: 25
Reputation:
Solved Threads: 0
here is the code with changes,
Java Syntax (Toggle Plain Text)
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(); } }
Java Syntax (Toggle Plain Text)
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);
Last edited by Ezzaral; Sep 6th, 2007 at 6:18 pm.
•
•
Join Date: Mar 2007
Posts: 25
Reputation:
Solved Threads: 0
Ok, I changes it so the action listener is added to the buttons that are being added to the panel annd still nothing. by the way, i want to thank you for all your help and advice, they are much appreciated.
Java Syntax (Toggle Plain Text)
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(); } }
To be fair this program is in mess you should organize it little, good thing is you willing to work on it.
Bellow are some uptades for you, check the red marked parts.
PS: Can you please next time put each java file is separated code tags? Thanx
Bellow are some uptades for you, check the red marked parts.
PS: Can you please next time put each java file is separated code tags? Thanx
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));
}
} Learn to see in another's calamity the ills which you should avoid.
Publilius Syrus
(~100 BC)
LJC - London Java Community, Graduate & Undergraduate Software Development Community, JAVAWUG (Java Web User Group), The London Android Group
Publilius Syrus
(~100 BC)
LJC - London Java Community, Graduate & Undergraduate Software Development Community, JAVAWUG (Java Web User Group), The London Android Group
•
•
Join Date: Mar 2007
Posts: 25
Reputation:
Solved Threads: 0
Thank you for the help, I was up all night last night and got my buttons to print out that they were pushed but I still can not get them to function so that if the list is at the first item and I push previous button the list will show the last item and so on. I have been trying to get my code to do that for the last 32 hours, I even fell asleep with my fingers on the keyboard and woke up from dreaming about java coding. lol lol. if you can point me in the right direction it would be much appreciated, dont get me wrong I'm not asking you to do it for me I'm just asking for a little help.
once again I want to thank you for your help.
once again I want to thank you for your help.
![]() |
Similar Threads
- PLEASE HELP about Using C# to add an executable file to my program! (C#)
- help with counting letters part of program (C++)
- VB Programming - Inventory Program (Visual Basic 4 / 5 / 6)
- WinXP installation program (Windows NT / 2000 / XP)
- Need help with this conversion program (C++)
- help writing a grep program (C)
- Moving IE to a different Program Folder (Windows NT / 2000 / XP)
- how can i make the program depend on time (C)
- cant remove program from ad and remove programs (Windows NT / 2000 / XP)
Other Threads in the Java Forum
- Previous Thread: Inventory part 6
- Next Thread: Pls Help Me!
| Thread Tools | Search this Thread |
-xlint actionlistener android api applet application array arrays automation bi binary blackberry block bluetooth character class client code compile compiler component consumer database desktop developmenthelp eclipse error fractal freeze ftp functiontesting game gameprogramming givemetehcodez graphics gui html ide image int integer j2me j2seprojects java javac javaee javaprojects jetbrains jni jpanel jtable julia learningresources lego linked linux list mac map method methods mobile myregfun netbeans nonstatic notdisplaying number online printf problem program project qt recursion researchinmotion rotatetext rsa scanner screen server set singleton sms sort sql string swing system textfields thread threads time title tree tutorial-sample update variablebinding windows working xor






