import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.HeadlessException;
import java.awt.Image;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import javax.swing.ImageIcon;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
public class TransformersGUIMainExecution extends JFrame implements ActionListener,Serializable
{
private JTextArea textArea;
private JButton first,
next,
previous,
last,
add,
modify,
delete,
save,
search,
exit;
JLabel imageLabel;
private static TransformersInventoryInfo inv = new TransformersInventoryInfo();
/**
* @param arg0
* @throws HeadlessException
*/
public TransformersGUIMainExecution( String arg0 ) throws HeadlessException
{
super( "Inventory GUI" );
textArea = new JTextArea( 250,30 );
JScrollPane scrollPane = new JScrollPane( textArea );
textArea.setEditable( false );
scrollPane.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS );
scrollPane.setPreferredSize( new Dimension( 250, 250 ) );
JPanel cp = new JPanel();
cp.setSize( 250, 40 );
cp.setLayout( new BorderLayout() );
cp.add( scrollPane,BorderLayout.CENTER );
JPanel buttonPaenl = new JPanel();
JPanel buttonPaenl1 = new JPanel();
first = new JButton( "First" );
first.addActionListener( this );
search = new JButton( "Search" );
search.addActionListener( this );
next = new JButton( "Next" );
next.addActionListener( this );
previous = new JButton( "Previous" );
previous.addActionListener( this );
last = new JButton( "Last" );
last.addActionListener( this );
add = new JButton( "Add" );
add.addActionListener( this );
modify = new JButton( "Modify" );
modify.addActionListener( this );
delete = new JButton( "Delete" );
delete.addActionListener( this );
save = new JButton( "Save" );
save.addActionListener( this );
exit = new JButton( "Exit" );
exit.addActionListener( this );
buttonPaenl.setLayout( new FlowLayout() );
buttonPaenl1.setLayout( new FlowLayout() );
buttonPaenl.add( first );
buttonPaenl.add( previous );
buttonPaenl.add( next );
buttonPaenl.add( last );
buttonPaenl1.add( add );
buttonPaenl1.add( modify );
buttonPaenl1.add( delete );
buttonPaenl1.add( save );
buttonPaenl1.add( search );
buttonPaenl1.add( exit );
cp.add( buttonPaenl,BorderLayout.SOUTH );
cp.add( buttonPaenl1,BorderLayout.NORTH );
ImageIcon icon = new ImageIcon( "AutobotCompanyLogo.jpg" );
imageLabel = new JLabel( icon, JLabel.CENTER );
cp.add( imageLabel, BorderLayout.EAST );
this.setContentPane( cp );
this.setTitle( " Week Nine Final Project: Inventory Program Part Six - Transformers Autobot Inventory ( More Than Meets the Eye o_0/>?! ) " );
this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
this.textArea.setText(inv.getFirst());
this.setSize(400, 400);
this.pack();
this.setVisible( true );
}
@Override
public void actionPerformed( ActionEvent e )
{
// TODO Auto-generated method stub
if( e.getActionCommand().equals( "First" ) )
{
textArea.setText( inv.getFirst() );
}
if( e.getActionCommand().equals( "Next" ) )
{
textArea.setText(inv.getNext());
}
if( e.getActionCommand().equals( "Previous" ) )
{
textArea.setText( inv.getPrevious() );
}
if( e.getActionCommand().equals( "Last" ) )
{
textArea.setText(inv.getLast());
}
if( e.getActionCommand().equals( "Save" ) )
{
save();
}
if( e.getActionCommand().equals( "Exit" ) )
{
System.exit(0);
}
if( e.getActionCommand().equals( "Add" ) )
{
TransformersInventoryDialogue id = new TransformersInventoryDialogue( true," Add a new Inventory " );
}
if( e.getActionCommand().equals( "Modify" ) )
{
TransformersInventoryDialogue id = new TransformersInventoryDialogue( false," Modify Inventory " );
}
if( e.getActionCommand().equals( "Search" ) )
{
String s = JOptionPane.showInputDialog( null, " Enter Product Name ",null, 1 );
s = inv.Search(s);
if( s == null )
{
JOptionPane.showMessageDialog( this, " No Results Found " );
}
else textArea.setText( s );
}
if( e.getActionCommand().equals( "Delete" ) )
{
inv.getproducts().remove( inv.index );
}
}
public void save()
{
// Initialize object
String filepath = "C:/data";
File myDir = new File( filepath );
// Check if directory exists
if( !myDir.exists( ) )
{
try
{
if( !myDir.mkdirs( ) )
{
// Could not create folder(s), so end execution here
}
}
catch( SecurityException e )
{
// Error handling here
}
}
File f = new File( "C:\\data\\inventory.dat" );
try
{
FileOutputStream out = new FileOutputStream( f );
try
{
ObjectOutputStream objectOut = new ObjectOutputStream( out );
objectOut.writeObject( inv );
}
catch (IOException e)
{
// TODO Auto-generated catch block
JOptionPane.showMessageDialog( null, e.getMessage() );
e.printStackTrace();
}
}
catch ( FileNotFoundException e )
{
// TODO Auto-generated catch block
JOptionPane.showMessageDialog( null, e.getMessage() );
e.printStackTrace();
}
}
public static TransformersInventoryInfo getInv()
{
return inv;
}
public static void setInv( TransformersInventoryInfo inv )
{
TransformersGUIMainExecution.inv = inv;
}
/**
* @param args
*/
public static void main( String[] args )
{
TransformersGUIMainExecution TransformersInventoryInfo = new TransformersGUIMainExecution( "Inventory" );
}
}
import java.awt.BorderLayout;
import java.awt.FlowLayout;
import java.awt.LayoutManager;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class TransformersInventoryDialogue extends JFrame implements ActionListener
{
private boolean status = false; //false is for modify
JTextField nameTextField,
unitTextField,
priceTextField;
JLabel nameLabel,
unitLabel,
priceLabel;
JPanel TextFields,
buttons;
JButton modify,
add;
public TransformersInventoryDialogue( Boolean stat, String title )
{
super( title );
status = stat;
JPanel but = new JPanel();
modify = new JButton( "Modify" );
modify.addActionListener( this );
add = new JButton( "Add" );
add.addActionListener( this );
but.add( add );
but.add( modify );
if( status == false )
{
add.setVisible( false );
}
else
{
modify.setVisible( false );
}
nameTextField = new JTextField( "", 20 );
unitTextField = new JTextField( "", 5 );
priceTextField = new JTextField( "" , 5 );
nameLabel = new JLabel( "Name" );
unitLabel = new JLabel( "Units" );
priceLabel = new JLabel( "Price per Unit" );
JPanel p = new JPanel();
p.setLayout( new FlowLayout() );
p.add( nameLabel );
p.add( nameTextField );
p.add( unitLabel );
p.add( unitTextField );
p.add( priceLabel );
p.add( priceTextField );
JPanel cp = new JPanel();
cp.setLayout( new BorderLayout() );
cp.add( p, BorderLayout.CENTER );
cp.add( but, BorderLayout.EAST );
this.setContentPane( cp );
this.setDefaultCloseOperation( JFrame.DISPOSE_ON_CLOSE );
this.pack();
this.setVisible( true );
}
@Override
public void actionPerformed( ActionEvent arg0 )
{
if( arg0.getActionCommand().equals( "Add" ) )
{
String name;
int units;
Double price;
name = nameTextField.getText();
try
{
units = Integer.parseInt( unitTextField.getText() );
}
catch ( NumberFormatException e )
{
JOptionPane.showMessageDialog( null, "Please Enter Valid Integers" );
e.printStackTrace();
return;
}
try
{
price = Double.parseDouble( priceTextField.getText() );
}
catch ( NumberFormatException e )
{
// TODO Auto-generated catch block
JOptionPane.showMessageDialog( null, "Please Enter Valid Price" );
e.printStackTrace();
return;
}
TransformersGUIMainExecution.getInv().getproducts().add( new TransformersSubProduct( name, TransformersGUIMainExecution.getInv().products.size(),
units,price ) );
this.dispose();
}
if( arg0.getActionCommand().equals( "Modify" ) )
{
String name;
int units;
Double price;
name = nameTextField.getText();
try
{
units = Integer.parseInt( unitTextField.getText() );
}
catch ( NumberFormatException e )
{
JOptionPane.showMessageDialog( null,"Please Enter Valid Integers" );
e.printStackTrace();
return;
}
try
{
price = Double.parseDouble( priceTextField.getText() );
}
catch ( NumberFormatException e )
{
// TODO Auto-generated catch block
JOptionPane.showMessageDialog( null,"Please Enter Valid Price" );
//e.printStackTrace();
return;
}
TransformersGUIMainExecution.getInv().getproducts().set( TransformersGUIMainExecution.getInv().index,
new TransformersSubProduct( name, TransformersGUIMainExecution.getInv().index, units, price ) );
this.dispose();
}
}
public static void main( String args[] )
{
TransformersInventoryDialogue idf = new TransformersInventoryDialogue( true,"cc" );
}
}
import java.text.Collator;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.Locale;
import java.io.Serializable;
public class TransformersInventoryInfo implements Serializable
{
//private String inventoryName; // name of inventory
//public String restockRate; // restock rate percentage
//public double totalRestock;
public static int index;
public ArrayList < TransformersSubProduct > products = new ArrayList < TransformersSubProduct > ();
public TransformersInventoryInfo()
{
products.add( new TransformersSubProduct( "No Sale Bot", 0, 1, 0.00 ) );
products.add( new TransformersSubProduct( "Optimus Prime", 7, 52, 160.00 ) );
products.add( new TransformersSubProduct( "BumbleeBee", 16, 61, 97.00 ) );
products.add( new TransformersSubProduct( "Ironhide", 25, 106, 88.00 ) );
products.add( new TransformersSubProduct( "Ratchet", 34, 115, 79.00 ) );
products.add( new TransformersSubProduct( "Jazz", 43, 124, 70.00 ) );
index = 0;
}
/*public void sort()
{
Locale loc = Locale.ENGLISH;
ProductModified Temp;
Collator col = Collator.getInstance( loc );
for ( int i = 0; i < products.size(); i++ )
{
for ( int j = i + 1; j < products.size(); j++ )
{
if( col.compare( products.get( i ).getAutobotName(), products.get( j ).getAutobotName() ) > 0 )
{
Temp = products.get( i );
products.set( i, products.get( j ) );
products.set( j, Temp );
}
}
}
}
/*public String getInventoryName()
{
return inventoryName;
}
public void setInventoryName( String inventoryName )
{
this.inventoryName = inventoryName;
}
public String getRestockRate()
{
return restockRate;
}
public void setRestockRate( String restockRate )
{
this.restockRate = restockRate;
}
public double getTotalRestock()
{
return totalRestock;
}
public void setTotalRestock( double totalRestock )
{
this.totalRestock = totalRestock;
}*/
public ArrayList < TransformersSubProduct > getproducts()
{
return products;
}
public void seproducts( ArrayList < TransformersSubProduct > products)
{
this.products = products;
}
/*public String toString()
{
String transformersSub = new String(" ");
transformersSub = "Welcome to the\n" + getInventoryName() + "!\n\n";
transformersSub = transformersSub + "Below is the available inventory:\n\n";
transformersSub = transformersSub + "The restock interest rate is at " + getRestockRate() + ".\n\n";
transformersSub = transformersSub + "Index\tProductModified #\t\t\tName\t\tUnits\t\tPrice\t\t";
transformersSub = transformersSub + "Unit Restock Value\t";
transformersSub = transformersSub + "Stock Value\t\t";
transformersSub = transformersSub + "Total ProductModified Restock\n";
Iterator < ProductModified > i = this.getproducts().iterator();
while(i.hasNext())
{
transformersSub = transformersSub + i.next();
}
return transformersSub;
}*/
public Double getTotal()
{
Double Total = 0.00;
TransformersSubProduct p;
Iterator < TransformersSubProduct > i = products.iterator();
while( i.hasNext() )
{
p = i.next();
Total = Total + p.getPrice() * p.getUnit();
}
return Total;
}
public Double getTotalRestock()
{
Double TotalRestock = 0.00;
TransformersSubProduct p;
Iterator < TransformersSubProduct > i = products.iterator();
while( i.hasNext() )
{
p = i.next();
TotalRestock = TotalRestock + ( 0.05 * p.getPrice() * p.getUnit() )
+ ( p.getPrice() * p.getUnit() );
}
return TotalRestock;
}
public String processOutPut( TransformersSubProduct p )
{
String out = "Welcome to the Transformers Autobot Toy Inventory!" + "\n\nBelow is the available Inventory:"
+ "\n\nThe restock interest rate is at 5%"
+ "\n\nItem #\tName\t\tUnits\tPrice\tUnit Restock\tStock Value\tTotal Product Restock"
+ p + "\n\nThe value of the entire inventory is $" + this.getTotal()
+ "\n\nThe 5% restocking cost for the entire inventory is $" + this.getTotalRestock();
return out;
}
public String getFirst()
{
index = 0;
return processOutPut( products.get(0) );
}
public String getLast()
{
index = products.size() - 1;
return processOutPut( products.get( products.size() - 1 ) );
}
public String getNext()
{
if( index == products.size() - 1 )
{
getFirst();
return getFirst();
}
else
{
index++;
return processOutPut( products.get( index ) );
}
}
public String getPrevious()
{
if( index == 0 )
{
return getLast();
}
else
return processOutPut(products.get(--index));
}
public String Search( String Search )
{
Iterator < TransformersSubProduct > i = products.iterator();
String te = null;
TransformersSubProduct p;
while( i.hasNext() )
{
p = i.next();
if( p.getAutobotName().equals( Search ) )
{
te = processOutPut( p );
}
}
return te;
}
}
import static java.lang.System.out;
import java.io.Serializable;
//class declaration for TransformersProduct
public class TransformersProduct implements Serializable
{
public String autobotName; // array of autobot toy names
public int productNumber; // product # array ID for product
public int unit; // array of autobot toy units
public double price; // array of autobot prices
public double restock;
public double stock;
public double totalRestock;
/**
* @param autobotName
* @param productNumber
* @param unit
* @param price
*/
public TransformersProduct( String autobotName, int productNumber, int unit,
double price )
{
super();
this.autobotName = autobotName;
this.productNumber = productNumber;
this.unit = unit;
this.price = price;
}
public String getAutobotName()
{
return autobotName;
}
public void setAutobotName( String autobotName )
{
this.autobotName = autobotName;
}
public int getProductNumber()
{
return productNumber;
}
public void setProductNumber( int productNumber )
{
this.productNumber = productNumber;
}
public int getUnit()
{
return unit;
}
public void setUnit( int unit )
{
this.unit = unit;
}
public double getPrice()
{
return price;
}
public void setPrice( double price )
{
this.price = price;
}
public double getRestock()
{
return restock;
}
public Double restock()
{
return 0.05 * this.getPrice() + this.getPrice();
}
public double getStock()
{
return stock;
}
public Double stock()
{
return this.getPrice() * this.getUnit();
}
public double getTotalRestock()
{
return totalRestock;
}
public Double totalRestock()
{
return this.getPrice() + this.getUnit() * this.getPrice() * 0.05;
}
public String toString()
{
return "\n"+this.productNumber+"\t"+this.autobotName+"\t"+this.unit +"\t"+this.price+ "\t";
}
}
import java.io.Serializable;
public class TransformersSubProduct extends TransformersProduct implements Serializable
{
public TransformersSubProduct( String autobotName, int productNumber, int unit,
double price )
{
super( autobotName, productNumber, unit, price );
this.restock = this.restock();
this.stock = this.stock();
this.totalRestock = this.totalRestock();
// TODO Auto-generated constructor stub
}
public Double restock()
{
return this.getPrice() + this.getPrice() * 0.05;
}
public Double stock()
{
return this.getUnit() * this.getPrice();
}
public Double totalRestock()
{
return this.getUnit() * this.getPrice() + this.getUnit() * this.getPrice() * 0.05;
}
public String toString()
{
return "\n\n" + this.productNumber + "\t" + this.autobotName
+ "\t\t" + this.unit + "\t$ " + this.price
+ "\t$ " + this.getRestock()
+ "\t$ " + this.getStock()
+ "\t$ " + this.getTotalRestock()
+ "\n";
}
}
Here's my previous assignment, with the sorter working.
[code]import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.TextArea;
import java.awt.Container;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.Collator;
import java.util.Locale;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.border.Border;
// class declaration for TransformersInventory5
public class TransformersInventory5 extends JFrame implements ActionListener
{
private static TransformersProductSubClass myTransformers;
public static int currentRecordShown = 0;
private JTextArea textArea;
private JButton first,next,previous,last;
// declare array name autobotNameArray
static String autobotNameArray[] = { "No Sale bot", "Optimus Prime", "BumbleBee",
"Ironhide", "Ratchet", "Jazz" };
static int autobotProductArray[] = { 0, 7, 16, 25, 34, 43 }; // product # array
static int autobotUnitArray[] = { 1, 52, 61, 106, 115, 124 }; // array of autobot toy units
static double autobotPriceArray[] = { 0.00, 160.00, 97.00, 88.00, 79.00,70.00 }; // array of autobot toy prices
static double autobotRestockArray[] = { 0.05 * autobotPriceArray[ 0 ] + autobotPriceArray[ 0 ],
0.05 * autobotPriceArray[ 1 ] + autobotPriceArray[ 1 ],
0.05 * autobotPriceArray[ 2 ] + autobotPriceArray[ 2 ],
0.05 * autobotPriceArray[ 3 ] + autobotPriceArray[ 3 ],
0.05 * autobotPriceArray[ 4 ] + autobotPriceArray[ 4 ],
0.05 * autobotPriceArray[ 5 ] + autobotPriceArray[ 5 ] }; // array of autobot stock values
static double autobotStockArray[] = { autobotUnitArray[ 0 ] * autobotPriceArray[ 0 ],
autobotUnitArray[ 1 ] * autobotPriceArray[ 1 ],
autobotUnitArray[ 2 ] * autobotPriceArray[ 2 ],
autobotUnitArray[ 3 ] * autobotPriceArray[ 3 ],
autobotUnitArray[ 4 ] * autobotPriceArray[ 4 ],
autobotUnitArray[ 5 ] * autobotPriceArray[ 5 ] }; // array of autobot stock values
static double autobotTotalRestockArray[] = { 0.05 * autobotStockArray[ 0 ] + autobotStockArray[ 0 ],
0.05 * autobotStockArray[ 1 ] + autobotStockArray[ 1 ],
0.05 * autobotStockArray[ 2 ] + autobotStockArray[ 2 ],
0.05 * autobotStockArray[ 3 ] + autobotStockArray[ 3 ],
0.05 * autobotStockArray[ 4 ] + autobotStockArray[ 4 ],
0.05 * autobotStockArray[ 5 ] + autobotStockArray[ 5 ] }; // array of autobot stock values
public TransformersInventory5()
{
textArea = new JTextArea( 250,30 );
JScrollPane scrollPane = new JScrollPane( textArea );
textArea.setEditable( false );
scrollPane.setVerticalScrollBarPolicy( JScrollPane.VERTICAL_SCROLLBAR_ALWAYS );
scrollPane.setPreferredSize( new Dimension( 250, 250 ) );
JPanel cp = new JPanel();
cp.setSize( 250, 40 );
cp.setLayout( new BorderLayout() );
cp.add( scrollPane,BorderLayout.CENTER );
JPanel buttonPaenl = new JPanel();
first = new JButton( "First" );
first.addActionListener(this);
next = new JButton( "Next" );
next.addActionListener( this );
previous = new JButton( "Previous" );
previous.addActionListener( this );
last = new JButton( "Last" );
last.addActionListener( this );
buttonPaenl.setLayout( new FlowLayout() );
buttonPaenl.add( first );
buttonPaenl.add( previous );
buttonPaenl.add( next );
buttonPaenl.add( last );
cp.add( buttonPaenl,
BorderLayout.SOUTH );
this.setContentPane( cp );
this.setTitle( "Week Eight CheckPoint: Inventory Program Part 5 ( Oooey GUI Phooey --
this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
this.pack();
inventorySorter();
myTransformers = new TransformersProductSubClass( "Transformers Autobot Toy Inventory",
"5%",
autobotNameArray,
autobotProductArray,
&n

New Topic/Question
Reply




MultiQuote




|