Results 1 to 2 of 2
Thread: Final Inventory tweeks
- 01-20-2008, 08:17 AM #1
Member
- Join Date
- Nov 2007
- Posts
- 8
- Rep Power
- 0
Final Inventory tweeks
Assignment:
• Modify the Inventory Program to include an Add button, a Delete button, and a Modify button on the GUI. These buttons should allow the user to perform the corresponding actions on the item name, the number of units in stock, and the price of each unit. An item added to the inventory should have an item number one more than the previous last
item.
• Add a Save button to the GUI that saves the inventory to a C:\data\inventory.dat file.
• Use exception handling to create the directory and file if necessary.
• Add a search button to the GUI that allows the user to search for an item in the inventory by the product name. If the product is not found, the GUI should display an appropriate message. If the product is found, the GUI should display that product’s information in the GUI.
I have added the buttons that I need, the graphic (cheesy, I know) and put the import java.io.*; utitility in the code. The additem function works propery but the delete, search, modify and save buttons need to funcition as described before thus the import java.io.*; at the top of the code. I reviewed a forum for saving data that has this code:
public class InputFile1
{
public static void main (String args[]) throws IOException
{
final FileWriter inputthingy = new FileWriter("inputfile1.dat");
final BufferedWriter bufferthingy = new BufferedWriter(inputthingy);
final PrintWriter printythingy = new PrintWriter(bufferthingy);
try {
printythingy.println ("Hello inputthingy file");
System.out.println("File write successful");
} catch (Exception e) {
System.out.println("Error writing to file");
}
bufferthingy.close();
System.exit(0);
}
}
What should I change to get this to work in my existing code that I will post in the next reply section. Thanks for your help
Badness
- 01-20-2008, 08:18 AM #2
Member
- Join Date
- Nov 2007
- Posts
- 8
- Rep Power
- 0
Here is my code so far:
import java.util.*;
import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
import java.io.*;
class Product implements Comparable {
String name;
double number;
long stockQuantity;
double price;
public Product() {
name = "";
number = 0.0;
stockQuantity = 0L;
price = 0.0;
}
public Product(String name, int number, long stockQuantity, double price) {
this.name = name;
this.number = number;
this.stockQuantity = stockQuantity;
this.price = price;
}
public void setItemName(String name) {
this.name = name;
}
public String getItemName() {
return name;
}
public void setItemNumber(double number) {
this.number = number;
}
public double getItemNumber() {
return number;
}
public void setStockQuantity(long quantity) {
stockQuantity = quantity;
}
public long getStockQuantity() {
return stockQuantity;
}
public void setItemPrice(double price) {
this.price = price;
}
public double getItemPrice() {
return price;
}
public double calculateInventoryValue() {
return getItemPrice() * getStockQuantity();
}
public int compareTo (Object o) {
Product p = (Product)o;
return name.compareTo(p.getItemName());
}
public String toString() {
return "Name :"+getItemName() + "\nNumber"+number+"\nPrice"+price+"\nQuantity"+sto ckQuantity + "\nValue :"+calculateInventoryValue();
}
}
class DVD extends Product implements Comparable {
private String title;
public DVD() {
super(); //Call the constructor in Product
title = ""; //Add the additonal attribute
}
public DVD(String name, int number, long stockQuantity, double price, String title) {
super(name, number, stockQuantity, price); //Call the constructor in Product
this.title = title; //Add the additonal attribute
}
public void setTitle(String title) {
this.title = title;
}
public String getTitle() {
return title;
}
public double calculateInventoryValue() {
return getItemPrice() * getStockQuantity() + getItemPrice()*getStockQuantity();
}
public double calculateRestockFee() {
return getItemPrice() * 0.05;
}
public int compareTo (Object o) {
Product p = (Product)o;
return getItemName().compareTo(p.getItemName());
}
public String toString() {
return "Name :"+getItemName() + "\nNumber"+getItemNumber()+"\nPrice"+getItemPrice( )+"\nQuantity"+getStockQuantity() +"\nTitle :"+getTitle()+"\nValue"+calculateInventoryValue ();
}
}
public class Inventory5_5 extends JFrame implements ActionListener {
private class MyPanel extends JPanel {
ImageIcon image = new ImageIcon("DVDgraphic.jpg");
int width = image.getIconWidth();
int height = image.getIconHeight();
long angle = 0;
public MyPanel(){
super();
}
public void paintComponent(Graphics g){
super.paintComponent(g);
Graphics2D g2d = (Graphics2D)g;
g2d.rotate (Math.toRadians(angle), 60+width/2, 60+height/2);
g2d.drawImage(image.getImage(), 60, 60, this);
g2d.dispose();
}
}//end class MyPanel
int currentIndex; //Currently displayed Item
Product[] supplies = new Product[4];
JLabel name ;
JLabel number;
JLabel title;
JLabel quantity;
JLabel price;
JLabel fee;
JLabel totalValue;
JTextField nameField = new JTextField(20);
JTextField numberField = new JTextField(20);
JTextField titleField = new JTextField(20);
JTextField quantityField = new JTextField(20);
JTextField priceField = new JTextField(20);
JPanel display;
JPanel displayHolder;
JPanel panel;
public Inventory5_5() {
makeTheDataItems();
setSize(850, 700);
setTitle("Doug's DVD Emporium Inventory Package");
//make the panels
display = new JPanel();
JPanel other = new JPanel();
JPanel picture = new MyPanel();
JPanel buttons = new JPanel();
JPanel centerPanel = new JPanel();
displayHolder = new JPanel();
display.setLayout(new GridLayout(7, 1));
//other.setLayout(new GridLayout(1, 1));
//make the labels
name = new JLabel("Item :");
number = new JLabel("Number :");
title = new JLabel("Title :");
quantity = new JLabel("Quantity :");
price = new JLabel("Price :");
fee = new JLabel("Restocking Fee :");
totalValue = new JLabel("Total Value :");
//Use the utility method to make the buttons
JButton first = makeButton("First");
JButton next = makeButton("Next");
JButton previous = makeButton("Previous");
JButton last = makeButton("Last");
JButton exit = makeButton("Exit");
//Other buttons
JButton add = makeButton("Add");
JButton delete = makeButton("Delete");
JButton save = makeButton("Save");
JButton modify = makeButton("Modify");
JButton search = makeButton("Search");
//Add the labels to the display panel
display.add(name);
display.add(number);
display.add(title);
display.add(quantity);
display.add(price);
display.add(fee);
display.add(totalValue);
//add the buttons to the buttonPanel
buttons.add(first);
buttons.add(previous);
buttons.add(next);
buttons.add(last);
buttons.add(search);
buttons.add(exit);
buttons.add(delete);
buttons.add(save);
buttons.add(modify);
//Add the picture panel and display to the centerPanel
displayHolder.add(display);
centerPanel.setLayout(new GridLayout(2, 1));
centerPanel.add(picture);
centerPanel.add(displayHolder);
other.add(buttons);
JPanel forAdd = new JPanel(); // add the other buttons to this panel
forAdd.add(add);
other.add(forAdd);
//Add the panels to the frame
getContentPane().add(centerPanel, "Center");
getContentPane().add(other, "South");
this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
setVisible(true);
}
private void makeTheDataItems () {
Product p1 = new DVD("DVD", 001, 20, 10.99, "The Ring");
Product p2 = new DVD("DVD", 002, 50, 13.99, "The Lord of the Rings: The Two Towers");
Product p3 = new DVD("DVD", 003, 10, 10.99, "Perfect Storm");
Product p4 = new DVD("DVD", 004, 30, 9.99, "Happy Gilmore");
supplies[0] = p1;
supplies[1] = p2;
supplies[2] = p3;
supplies[3] = p4;
}
//Utility method for creating and dressing buttons
private JButton makeButton(String label) {
JButton button = new JButton(label);
button.setActionCommand(label);
button.addActionListener(this);
return button;
}
private void addItem() {
panel = new JPanel();
JPanel add = new JPanel();
add.setLayout(new GridLayout(2, 1));
add.setLayout(new GridLayout(5, 5));
JButton addIt = makeButton("Add Item");
JLabel name = new JLabel("Item :");
JLabel number = new JLabel("Number :");
JLabel title = new JLabel("Title :");
JLabel quantity = new JLabel("Quantity :");
JLabel price = new JLabel("Price :");
add.add(name); add.add(nameField);
add.add(number); add.add(numberField);
add.add(title); add.add(titleField);
add.add(quantity); add.add(quantityField);
add.add(price); add.add(priceField);
panel.add(add);
JPanel forAddIt = new JPanel();
forAddIt.add(addIt);
panel.add(forAddIt);
displayHolder.remove(display);
displayHolder.add(panel);
//display = panel;
this.setVisible(true);
}
public static void main( String args[]) {
Inventory5_5 object = new Inventory5_5();
} // end main method
public void actionPerformed(ActionEvent event) {
String command = event.getActionCommand();
if(command.equals("First")) {
displayFirst();
}
else if(command.equals("Next")) {
displayNext();
}
else if(command.equals("Previous")) {
displayPrevious();
}
else if(command.equals("Last")) {
displayLast();
}
else if(command.equals("Exit")) {
this.dispose();
System.exit(0);
}
else if(command.equals("Add")) {
addItem();
}
else if(command.equals("Add Item")) {
addItemToArray();
}
}
private void addItemToArray() {
Product p = new DVD(nameField.getText(), supplies.length -2, Long.parseLong(quantityField.getText()),
Double.parseDouble(priceField.getText()), titleField.getText());
//Extend size of array by one first
Product[] ps = new Product[supplies.length + 1];
for(int i = 0; i < ps.length-1; i++) {
ps[i] = supplies[i];
}
ps[supplies.length] = p;
supplies = ps;
displayHolder.remove(panel);
displayHolder.add(display);
displayLast();
this.setVisible(false);
this.setVisible(true);
}
private void displayItemAt(int index) {
DVD product = (DVD)supplies[index];
name.setText("Item: "+ product.getItemName());
number.setText("Item Number: "+ product.getItemNumber());
title.setText("Title: "+ product.getTitle());
quantity.setText("Quantity In Stock: "+ product.getStockQuantity());
price.setText("Item Price: "+ product.getItemPrice());
totalValue.setText("Total: " + product.calculateInventoryValue());
fee.setText("Restocking Fee :"+product.calculateRestockFee());
this.repaint();
this.setVisible(true);
}
public void displayFirst() {
displayItemAt(0);
currentIndex = 0;
}
public void displayNext() {
if(currentIndex == supplies.length-1) {
displayFirst();
currentIndex = 0;
}
else {
displayItemAt(currentIndex + 1);
currentIndex++;
}
}
public void displayPrevious() {
if(currentIndex == 0) {
displayLast();
currentIndex = supplies.length-1;
}
else {
displayItemAt(currentIndex - 1);
currentIndex--;
}
}
public void displayLast() {
displayItemAt(supplies.length-1);
currentIndex = supplies.length-1;
}
}//end class Inventory5_5
Thanks again. Reminder the delete, modify, search, and save need to function. The rest works.
Badness
Similar Threads
-
Inventory Program modification help
By badness in forum Java AppletsReplies: 1Last Post: 01-17-2008, 05:24 AM -
Inventory part 3 program problems
By badness in forum New To JavaReplies: 1Last Post: 12-17-2007, 07:00 AM -
Inventory part 2 help please
By badness in forum New To JavaReplies: 1Last Post: 12-12-2007, 07:51 AM -
Inventory program
By Nexcompac in forum New To JavaReplies: 3Last Post: 07-27-2007, 05:51 PM -
Poi 3.0-final
By levent in forum Java SoftwareReplies: 0Last Post: 05-22-2007, 07:05 AM


LinkBack URL
About LinkBacks
Reply With Quote
Bookmarks