Need help with applet calculating a price!! URGENT!
I am working on my final for JAVA, and can't seem to see why it wont give me a price for packageCost. :confused: See code below: (may be hard to follow with cut and paste)
public class ComputerPackagesApplet extends Applet implements ItemListener
{
//declare class variables
double packageCost, computer;
int empCode;
Image dollarSign;
Color darkRed = new Color(160, 50, 0);
//Create components for applet
Label codeLabel = new Label(" Select the requested computer peripheral:");
CheckboxGroup codeGroup = new CheckboxGroup();
Checkbox printerBox = new Checkbox("Printer",false,codeGroup);
Checkbox scannerBox = new Checkbox("Scanner",false,codeGroup);
Checkbox webcamBox = new Checkbox("Webcam",false,codeGroup);
Checkbox externalHDBox = new Checkbox("External HD",false,codeGroup);
Checkbox gameControllerBox = new Checkbox("Game Controller",false,codeGroup);
Checkbox printerScannerCopierBox = new Checkbox("Printer/Scanner/Copier device",false,codeGroup);
Checkbox hiddenBox = new Checkbox("",true,codeGroup);
Label outputLabel = new Label("Click an option button to calculate your package price with the peripheral of your choice.");
public void init()
{
setBackground(Color.blue);
setForeground(Color.white);
add(codeLabel);
add(printerBox);
printerBox.addItemListener(this);
add(scannerBox);
scannerBox.addItemListener(this);
add(webcamBox);
webcamBox.addItemListener(this);
add(externalHDBox);
externalHDBox.addItemListener(this);
add(gameControllerBox);
gameControllerBox.addItemListener(this);
add(printerScannerCopierBox);
printerScannerCopierBox.addItemListener(this);
add(outputLabel);
}
//This method is triggered by the user clicking an option button
public void itemStateChanged(ItemEvent choice)
{
try
{
empCode = getCode();
output(packageCost);
}
catch (NumberFormatException e)
{
outputLabel.setText("You must enter a dollar amount greater than zero.");
hiddenBox.setState(true);
}
}
public int getCode()
{
int code = 0;
if (printerBox.getState()) code = 1;
else
if (scannerBox.getState()) code = 2;
else
if (webcamBox.getState()) code = 3;
else
if (externalHDBox.getState()) code = 4;
else
if (gameControllerBox.getState()) code = 5;
else
if (printerScannerCopierBox.getState()) code = 6;
return code;
}
public double getPrice(double packageCost, int code, double computer)
{
double printer,scanner, webcam, externalHD, gameController, printScanCop;
packageCost = 0;
computer = 500;
printer = 30;
scanner = 60;
webcam = 70;
externalHD = 90;
gameController = 50;
printScanCop = 80;
switch(code)
{
case 1:
packageCost = computer + printer;
break;
case 2:
packageCost = computer + scanner;
break;
case 3:
packageCost = computer + webcam;
break;
case 4:
packageCost = computer + externalHD;
break;
case 5:
packageCost = computer + gameController;
break;
case 6:
packageCost = computer + printScanCop;
break;
}
return packageCost;
}
public void output(double packageCost)
{
DecimalFormat twoDigits = new DecimalFormat("$##0.00");
outputLabel.setText("Your package cost is " + twoDigits.format(packageCost) + ".");
}
public void paint(Graphics g)
{
dollarSign = getImage(getDocumentBase(), "dollarSign.gif");
g.drawImage(dollarSign,12,28,this);
}
}