•
•
•
•
What is DaniWeb IT Discussion Community?
You're currently browsing the Java section within the Software Development category of DaniWeb, a massive community of 456,593 software developers, web developers, Internet marketers, and tech gurus who are all enthusiastic about making contacts, networking, and learning from each other. In fact, there are 3,520 IT professionals currently interacting right now! Registration is free, only takes a minute and lets you enjoy all of the interactive features of the site.
Please support our Java advertiser: Lunarpages Java Web Hosting
Views: 10649 | Replies: 44
![]() |
•
•
Join Date: Mar 2007
Posts: 25
Reputation:
Rep Power: 2
Solved Threads: 0
Now I am getting these error:
Exception in thread "main" java.lang.NullPointerException
at inventoryi.InventoryMain.showGUI(InventoryI.java:94)
at inventoryi.InventoryMain.main(InventoryI.java:58)
Here is the coode I have So far:
I've got two day to understand and finish this program and I am lost and scared of failing my class. I have read so many tutorials that I wake up talking in java code. lol
I'm sorry for venting but I needed it. I want to thank you guys forhelping me understand the parts that I didn. I wish you guys were my instructor for this class, I would probably be a java pro.
Exception in thread "main" java.lang.NullPointerException
at inventoryi.InventoryMain.showGUI(InventoryI.java:94)
at inventoryi.InventoryMain.main(InventoryI.java:58)
Here is the coode I have So far:
import java.awt.*; //import all java.awt
import java.awt.event.*; //import all java.awt.event
import java.util.*; //import all java.util
import javax.swing.*; //import all javax.swing
import java.text.NumberFormat; // used to format currency
class InventoryMain extends Frame implements ActionListener
{
CD[] productCD;
JTextField[] fields;
NumberFormat nf;
JButton jbtLogo, jbtAdd, jbtFirst, jbtPrev, jbtNext, jbtLast, jbtDelete, jbtModify;
JLabel label; // logo
JPanel buttonJPanel; // panel to hold buttons
String nameText;
JComboBox combo;
JTextArea textArea;
private int index;
int i; // varialbe for looping
double total = 0; // variable for total inventory
static int dispProd = 0; // variable for actionEvents
static int disptextArea;
static int dispIndex;
static int deleteProd = 0;
static int modifyProd = 0;
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
productCD = new CD[11];
//fill in the classes
productCD[0] = new CD( 1, "Crowbar" , 20.00, 10, "00722");
productCD[1] = new CD( 2, "Pantera" , 20.00, 10, "00263");
productCD[2] = new CD( 3, "Ozzy" , 15.00, 10, "00142");
productCD[3] = new CD( 4, "Soulfly" , 18.00, 10, "00553");
productCD[4] = new CD( 5, "Down", 24.00, 10, "00789");
productCD[5] = new CD( 6, "God Forbid" , 10.00, 10, "00712");
productCD[6] = new CD( 7, "Black Label Society" , 16.00, 10, "00458" );
productCD[7] = new CD( 8, "Saint Vitus" , 15.00, 10, "00889");
productCD[8] = new CD( 9, "Clearlight" , 15.00, 10, "00897");
productCD[9] = new CD( 10, "Testament" , 15.00, 10, "00656");
//Sort elements in array in alphabetical order by product name
// product[0].sortItems(product);
}
private void showGUI() {
JLabel l;
JButton b;
fields = new JTextField[11];
combo = new JComboBox();
for(int j = 0; j < productCD.length; j++)
combo.addItem(productCD[j].getName());
combo.addActionListener(this);
Icon logo = new ImageIcon("C:/logo.jpg"); // load logo
label = new JLabel(logo); // create logo label
label.setToolTipText("Company Logo"); // create tooltip
textArea = new JTextArea(productCD[3] + "\n"); // create textArea for
// product display
JFrame f = new JFrame("CD Inventory");
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');
cp.add(fields[9] = new JTextField(), c); fields[9].setFocusAccelerator('j');
cp.add(fields[10] = new JTextField(), c); fields[10].setFocusAccelerator('k');
c.weightx = 0.0;
c.fill = GridBagConstraints.NONE;
jbtAdd = new JButton("Add");
jbtFirst = new JButton("First");
jbtPrev = new JButton("Previous");
jbtNext = new JButton("Next");
jbtLast = new JButton("Last");
jbtDelete = new JButton("Delete");
jbtModify = new JButton("Modify");
jbtLogo = new JButton("Logo");
ImageIcon Logo = new ImageIcon("logo.gif"); //initializing picture for logo Jbutton
f.getContentPane().add(this.jbtLogo); //add logoBtn to content pane
this.jbtLogo.setBounds(0, 0, 75, 75); //set logoBtn's size
this.jbtLogo.setBorderPainted(false); //turn border off for logoBtn
cp.add(jbtAdd, c);
cp.add(jbtFirst, c);
cp.add(jbtPrev, c);
cp.add(jbtNext, c);
cp.add(jbtLast, c);
cp.add(jbtDelete, c);
cp.add(jbtModify, c);
cp.add(jbtLogo, c);
f.pack();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
// assign actionListener and actionEvent for each button
jbtAdd.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
dispProd = - 0;
populateFields(dispProd);
} // end addBtn actionEvent
}); // end addBtn actionListener
jbtFirst.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
dispProd = 0;
populateFields(dispProd);
} // end firstBtn actionEvent
}); // end firstBtn actionListener
jbtPrev.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
dispProd--;
if (dispProd < 0)
{
dispProd = productCD.length - 1;
}
populateFields(dispProd);
} // end prevBtn actionEvent
}); // end prevBtn actionListener
jbtLast.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
dispProd = productCD.length - 1;
populateFields(dispProd);
} // end lastBtn actionEvent
}); // end lastBtn actionListener
jbtNext.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
dispProd++;
if (dispProd > productCD.length - 1)
{
dispProd = 0;
}
populateFields(dispProd);
} // end nextBtn actionEvent
}); // end nextBtn actionListener
jbtDelete.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
dispProd = 0;
} // end deleteBtn actionEvent
}); // end deleteBtn actionListener
jbtModify.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
for(int j = 0; j < productCD.length; j++)
populateFields(dispProd);
} // end modifyBtn actionEvent
}); // end modifyBtn actionListener
}
// event handler for combo box
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == combo)
{
System.out.println("Selected option: " + combo.getSelectedIndex() );
}
}
private void populateFields(int index) {
CD cd = productCD[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(productCD)));
fields[6].setText(cd.getCode());
fields[7].setText(Double.toString(cd.getSum()*.05));
}
}class CD {
int itemNumber;
String name;
String text;
int units;
int item;
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 int addItem() {return item; }
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;
String Text;
String fields;
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();
}
}I've got two day to understand and finish this program and I am lost and scared of failing my class. I have read so many tutorials that I wake up talking in java code. lol
I'm sorry for venting but I needed it. I want to thank you guys forhelping me understand the parts that I didn. I wish you guys were my instructor for this class, I would probably be a java pro.
•
•
Join Date: Dec 2004
Location: London or Slovakia
Posts: 2,630
Reputation:
Rep Power: 12
Solved Threads: 311
Working version
not working version
Think about it, why is it not working?
An consider following possible changes
in InventoryMain.java
and in CD.java
public void initCD() {
//Create an array
productCD = new CD[10];
//fill in the classes
productCD[0] = new CD( 1, "Crowbar" , 20.00, 10, "00722");
productCD[1] = new CD( 2, "Pantera" , 20.00, 10, "00263");
productCD[2] = new CD( 3, "Ozzy" , 15.00, 10, "00142");
productCD[3] = new CD( 4, "Soulfly" , 18.00, 10, "00553");
productCD[4] = new CD( 5, "Down", 24.00, 10, "00789");
productCD[5] = new CD( 6, "God Forbid" , 10.00, 10, "00712");
productCD[6] = new CD( 7, "Black Label Society" , 16.00, 10, "00458" );
productCD[7] = new CD( 8, "Saint Vitus" , 15.00, 10, "00889");
productCD[8] = new CD( 9, "Clearlight" , 15.00, 10, "00897");
productCD[9] = new CD( 10, "Testament" , 15.00, 10, "00656"); not working version
public void initCD() {
//Create an array
productCD = new CD[11];
//fill in the classes
productCD[0] = new CD( 1, "Crowbar" , 20.00, 10, "00722");
productCD[1] = new CD( 2, "Pantera" , 20.00, 10, "00263");
productCD[2] = new CD( 3, "Ozzy" , 15.00, 10, "00142");
productCD[3] = new CD( 4, "Soulfly" , 18.00, 10, "00553");
productCD[4] = new CD( 5, "Down", 24.00, 10, "00789");
productCD[5] = new CD( 6, "God Forbid" , 10.00, 10, "00712");
productCD[6] = new CD( 7, "Black Label Society" , 16.00, 10, "00458" );
productCD[7] = new CD( 8, "Saint Vitus" , 15.00, 10, "00889");
productCD[8] = new CD( 9, "Clearlight" , 15.00, 10, "00897");
productCD[9] = new CD( 10, "Testament" , 15.00, 10, "00656"); Think about it, why is it not working?
An consider following possible changes
in InventoryMain.java
public void initCD() {
//Create an array
productCD = new CD[20];
//fill in the classes
productCD[0] = new CD( 1, "Crowbar" , 20.00, 10, "00722");
productCD[1] = new CD( 2, "Pantera" , 20.00, 10, "00263");
productCD[2] = new CD( 3, "Ozzy" , 15.00, 10, "00142");
productCD[3] = new CD( 4, "Soulfly" , 18.00, 10, "00553");
productCD[4] = new CD( 5, "Down", 24.00, 10, "00789");
productCD[5] = new CD( 6, "God Forbid" , 10.00, 10, "00712");
productCD[6] = new CD( 7, "Black Label Society" , 16.00, 10, "00458" );
productCD[7] = new CD( 8, "Saint Vitus" , 15.00, 10, "00889");
productCD[8] = new CD( 9, "Clearlight" , 15.00, 10, "00897");
productCD[9] = new CD( 10, "Testament" , 15.00, 10, "00656");
for(int i = 10; i < productCD.length; i++)
{
productCD[i] = new CD();
}
}public CD() {} Learn to see in another's calamity the ills which you should avoid.
Publilius Syrus
(~100 BC)
LJC - London Java Community, JAVAWUG (Java Web User Group), Coding the Architecture
Publilius Syrus
(~100 BC)
LJC - London Java Community, JAVAWUG (Java Web User Group), Coding the Architecture
•
•
Join Date: Mar 2007
Posts: 25
Reputation:
Rep Power: 2
Solved Threads: 0
Okay, I got the add button to work. all the buttons work except the delete, modify, and the save and search buttons which i have not added yet. here is the code:
I feel like I'm never going to finish this on time. I wish my class instructor was as helpfull as you. thanks.
import java.awt.*; //import all java.awt
import java.awt.event.*; //import all java.awt.event
import java.util.*; //import all java.util
import javax.swing.*; //import all javax.swing
import java.text.NumberFormat; // used to format currency
class InventoryMain extends Frame implements ActionListener
{
CD[] productCD;
JTextField[] fields;
NumberFormat nf;
JButton jbtLogo, jbtAdd, jbtFirst, jbtPrev, jbtNext, jbtLast, jbtDelete, jbtModify;
JLabel label; // logo
JPanel buttonJPanel; // panel to hold buttons
String nameText;
JComboBox combo;
JTextArea textArea;
private int index;
int i; // varialbe for looping
double total = 0; // variable for total inventory
static int dispProd = 0; // variable for actionEvents
static int disptextArea;
static int dispIndex;
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
productCD = new CD[20];
//fill in the classes
productCD[0] = new CD( 1, "Crowbar" , 20.00, 10, "00722");
productCD[1] = new CD( 2, "Pantera" , 20.00, 10, "00263");
productCD[2] = new CD( 3, "Ozzy" , 15.00, 10, "00142");
productCD[3] = new CD( 4, "Soulfly" , 18.00, 10, "00553");
productCD[4] = new CD( 5, "Down", 24.00, 10, "00789");
productCD[5] = new CD( 6, "God Forbid" , 10.00, 10, "00712");
productCD[6] = new CD( 7, "Black Label Society" , 16.00, 10, "00458" );
productCD[7] = new CD( 8, "Saint Vitus" , 15.00, 10, "00889");
productCD[8] = new CD( 9, "Clearlight" , 15.00, 10, "00897");
productCD[9] = new CD( 10, "Testament" , 15.00, 10, "00656");
for(int i = 10; i < productCD.length; i++)
{
productCD[i] = new CD();
}
}
private void showGUI() {
JLabel l;
JButton b;
fields = new JTextField[11];
combo = new JComboBox();
for(int j = 0; j < productCD.length; j++)
combo.addItem(productCD[j].getName());
combo.addActionListener(this);
Icon logo = new ImageIcon("C:/logo.jpg"); // load logo
label = new JLabel(logo); // create logo label
label.setToolTipText("Company Logo"); // create tooltip
textArea = new JTextArea(productCD[3] + "\n"); // create textArea for
// product display
JFrame f = new JFrame("CD Inventory");
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');
cp.add(fields[9] = new JTextField(), c); fields[9].setFocusAccelerator('j');
cp.add(fields[10] = new JTextField(), c); fields[10].setFocusAccelerator('k');
c.weightx = 0.0;
c.fill = GridBagConstraints.NONE;
jbtAdd = new JButton("Add");
jbtFirst = new JButton("First");
jbtPrev = new JButton("Previous");
jbtNext = new JButton("Next");
jbtLast = new JButton("Last");
jbtDelete = new JButton("Delete");
jbtModify = new JButton("Modify");
jbtLogo = new JButton("Logo");
ImageIcon Logo = new ImageIcon("logo.gif"); //initializing picture for logo Jbutton
f.getContentPane().add(this.jbtLogo); //add logoBtn to content pane
this.jbtLogo.setBounds(0, 0, 75, 75); //set logoBtn's size
this.jbtLogo.setBorderPainted(false); //turn border off for logoBtn
cp.add(jbtAdd, c);
cp.add(jbtFirst, c);
cp.add(jbtPrev, c);
cp.add(jbtNext, c);
cp.add(jbtLast, c);
cp.add(jbtDelete, c);
cp.add(jbtModify, c);
cp.add(jbtLogo, c);
f.pack();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
// assign actionListener and actionEvent for each button
jbtAdd.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
dispProd = 11;
populateFields(dispProd);
} // end addBtn actionEvent
}); // end addBtn actionListener
jbtFirst.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
dispProd = 0;
populateFields(dispProd);
} // end firstBtn actionEvent
}); // end firstBtn actionListener
jbtPrev.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
dispProd--;
if (dispProd < 0)
{
dispProd = productCD.length - 1;
}
populateFields(dispProd);
} // end prevBtn actionEvent
}); // end prevBtn actionListener
jbtLast.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
dispProd = productCD.length - 1;
populateFields(dispProd);
} // end lastBtn actionEvent
}); // end lastBtn actionListener
jbtNext.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
dispProd++;
if (dispProd > productCD.length - 1)
{
dispProd = 0;
}
populateFields(dispProd);
} // end nextBtn actionEvent
}); // end nextBtn actionListener
jbtDelete.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
dispProd = 0;
} // end deleteBtn actionEvent
}); // end deleteBtn actionListener
jbtModify.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
for(int j = 0; j < productCD.length; j++)
populateFields(dispProd);
} // end modifyBtn actionEvent
}); // end modifyBtn actionListener
}
// event handler for combo box
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == combo)
{
System.out.println("Selected option: " + combo.getSelectedIndex() );
}
}
private void populateFields(int index) {
CD cd = productCD[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(productCD)));
fields[6].setText(cd.getCode());
fields[7].setText(Double.toString(cd.getSum()*.05));
}
}class CD {
public CD() {}
int itemNumber;
String name;
String text;
int units;
int item;
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 int addItem() {return item; }
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;
String Text;
String fields;
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();
}
}I feel like I'm never going to finish this on time. I wish my class instructor was as helpfull as you. thanks.
•
•
Join Date: Dec 2004
Location: London or Slovakia
Posts: 2,630
Reputation:
Rep Power: 12
Solved Threads: 311
This your last post
and this is post befor it
You did not provide any info on what is happening, so we have no idea what can be wrong...
Anyway what is difference between add and save ?
•
•
•
•
Can some one give me some advisee as to what I am doing wrong. I knoow its going to be something simple that I'm overlooking, ive been workinng onn this for the last 4 days and I cant think strait anymore. thanks.
and this is post befor it
•
•
•
•
Okay, I got the add button to work. all the buttons work except the delete, modify, and the save and search buttons which i have not added yet. here is the code:
Anyway what is difference between add and save ?
Learn to see in another's calamity the ills which you should avoid.
Publilius Syrus
(~100 BC)
LJC - London Java Community, JAVAWUG (Java Web User Group), Coding the Architecture
Publilius Syrus
(~100 BC)
LJC - London Java Community, JAVAWUG (Java Web User Group), Coding the Architecture
•
•
Join Date: Mar 2007
Posts: 25
Reputation:
Rep Power: 2
Solved Threads: 0
Here is my code again, im not reseaving any errors but the delete, modify buttons do not do what they are needed to do, and the save and search buttons which i have not added yet. here is the code:
import java.awt.*; //import all java.awt
import java.awt.event.*; //import all java.awt.event
import java.util.*; //import all java.util
import javax.swing.*; //import all javax.swing
import java.text.NumberFormat; // used to format currency
class InventoryMain extends Frame implements ActionListener
{
CD[] productCD;
JTextField[] fields;
NumberFormat nf;
JButton jbtLogo, jbtAdd, jbtFirst, jbtPrev, jbtNext, jbtLast, jbtDelete, jbtModify;
JLabel label; // logo
JPanel buttonJPanel; // panel to hold buttons
String nameText;
JComboBox combo;
JTextArea textArea;
private int index;
int i; // varialbe for looping
double total = 0; // variable for total inventory
static int dispProd = 0; // variable for actionEvents
static int disptextArea;
static int dispIndex;
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
productCD = new CD[20];
//fill in the classes
productCD[0] = new CD( 1, "Crowbar" , 20.00, 10, "00722");
productCD[1] = new CD( 2, "Pantera" , 20.00, 10, "00263");
productCD[2] = new CD( 3, "Ozzy" , 15.00, 10, "00142");
productCD[3] = new CD( 4, "Soulfly" , 18.00, 10, "00553");
productCD[4] = new CD( 5, "Down", 24.00, 10, "00789");
productCD[5] = new CD( 6, "God Forbid" , 10.00, 10, "00712");
productCD[6] = new CD( 7, "Black Label Society" , 16.00, 10, "00458" );
productCD[7] = new CD( 8, "Saint Vitus" , 15.00, 10, "00889");
productCD[8] = new CD( 9, "Clearlight" , 15.00, 10, "00897");
productCD[9] = new CD( 10, "Testament" , 15.00, 10, "00656");
for(int i = 10; i < productCD.length; i++)
{
productCD[i] = new CD();
}
}
private void showGUI() {
JLabel l;
JButton b;
fields = new JTextField[11];
combo = new JComboBox();
for(int j = 0; j < productCD.length; j++)
combo.addItem(productCD[j].getName());
combo.addActionListener(this);
Icon logo = new ImageIcon("C:/logo.jpg"); // load logo
label = new JLabel(logo); // create logo label
label.setToolTipText("Company Logo"); // create tooltip
textArea = new JTextArea(productCD[3] + "\n"); // create textArea for
// product display
JFrame f = new JFrame("CD Inventory");
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');
cp.add(fields[9] = new JTextField(), c); fields[9].setFocusAccelerator('j');
cp.add(fields[10] = new JTextField(), c); fields[10].setFocusAccelerator('k');
c.weightx = 0.0;
c.fill = GridBagConstraints.NONE;
jbtAdd = new JButton("Add");
jbtFirst = new JButton("First");
jbtPrev = new JButton("Previous");
jbtNext = new JButton("Next");
jbtLast = new JButton("Last");
jbtDelete = new JButton("Delete");
jbtModify = new JButton("Modify");
jbtLogo = new JButton("Logo");
ImageIcon Logo = new ImageIcon("logo.gif"); //initializing picture for logo Jbutton
f.getContentPane().add(this.jbtLogo); //add logoBtn to content pane
this.jbtLogo.setBounds(0, 0, 75, 75); //set logoBtn's size
this.jbtLogo.setBorderPainted(false); //turn border off for logoBtn
cp.add(jbtAdd, c);
cp.add(jbtFirst, c);
cp.add(jbtPrev, c);
cp.add(jbtNext, c);
cp.add(jbtLast, c);
cp.add(jbtDelete, c);
cp.add(jbtModify, c);
cp.add(jbtLogo, c);
f.pack();
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
// assign actionListener and actionEvent for each button
jbtAdd.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
dispProd = 11;
populateFields(dispProd);
} // end addBtn actionEvent
}); // end addBtn actionListener
jbtFirst.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
dispProd = 0;
populateFields(dispProd);
} // end firstBtn actionEvent
}); // end firstBtn actionListener
jbtPrev.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
dispProd--;
if (dispProd < 0)
{
dispProd = productCD.length - 1;
}
populateFields(dispProd);
} // end prevBtn actionEvent
}); // end prevBtn actionListener
jbtLast.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
dispProd = productCD.length - 1;
populateFields(dispProd);
} // end lastBtn actionEvent
}); // end lastBtn actionListener
jbtNext.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
dispProd++;
if (dispProd > productCD.length - 1)
{
dispProd = 0;
}
populateFields(dispProd);
} // end nextBtn actionEvent
}); // end nextBtn actionListener
jbtDelete.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
dispProd = 0;
} // end deleteBtn actionEvent
}); // end deleteBtn actionListener
jbtModify.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
for(int j = 0; j < productCD.length; j++)
populateFields(dispProd);
} // end modifyBtn actionEvent
}); // end modifyBtn actionListener
}
// event handler for combo box
public void actionPerformed(ActionEvent e)
{
if(e.getSource() == combo)
{
System.out.println("Selected option: " + combo.getSelectedIndex() );
}
}
private void populateFields(int index) {
CD cd = productCD[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(productCD)));
fields[6].setText(cd.getCode());
fields[7].setText(Double.toString(cd.getSum()*.05));
}
}

