我的Java applet分配有问题。出于某种原因,我无法弄清楚,每当我查看一个复选框时,我的所有if语句立即启动。该程序应该更新总价格,并在每次按下一个方框时通知用户。我们必须使用复选框而不是单选按钮或JCheckBox,并且程序必须被编写为applet。这里是我的代码的链接。为什么我所有的if语句立刻开始? (Java)
// Classes
import java.awt.*;
import java.applet.*;
import java.awt.event.*;
@SuppressWarnings("serial")
public class ReasonableComputersChristiansen extends Applet implements ItemListener
{
// Variables
Image logo;
double basePrice;
Label companyLabel = new Label("Reasonable Computers");
Label instructionLabel = new Label("Please select your desired peripherals from the list below");
Label outputLabel = new Label("TOTAL PRICE: ");
Checkbox printerBox = new Checkbox("Ink Waster 9000");
Checkbox monitorBox = new Checkbox("EvilCorp Monitor");
Checkbox keyboardBox = new Checkbox("Clickity-Clackity Keyboard");
Checkbox mouseBox = new Checkbox("Worst-Aim Laser Gaming Mouse");
Checkbox joystickBox = new Checkbox("Crash and Burn X-2 Joystick");
Checkbox webcamBox = new Checkbox("Not-So-Anonymous Webcam");
// Components
public void init()
{
add(companyLabel);
add(instructionLabel);
add(printerBox);
printerBox.addItemListener(this);
add(monitorBox);
monitorBox.addItemListener(this);
add(keyboardBox);
keyboardBox.addItemListener(this);
add(mouseBox);
mouseBox.addItemListener(this);
add(joystickBox);
joystickBox.addItemListener(this);
add(webcamBox);
webcamBox.addItemListener(this);
add(outputLabel);
logo = getImage(getDocumentBase(), "logo.gif");
}
// Actions
public void itemStateChanged(ItemEvent e)
{
basePrice = 575.00;
if (printerBox.getState());
{
basePrice += 69.99;
System.out.println("Printer added!");
}
if (monitorBox.getState());
{
basePrice += 125.49;
System.out.println("Monitor added!");
}
if (keyboardBox.getState());
{
basePrice += 55.59;
System.out.println("Keyboard added!");
}
if (mouseBox.getState());
{
basePrice += 19.99;
System.out.println("Mouse added!");
}
if (joystickBox.getState());
{
basePrice += 224.97;
System.out.println("Joystick added!");
}
if (webcamBox.getState());
{
basePrice += 99.19;
System.out.println("Webcam added!");
}
}
// Output
public void output()
{
outputLabel.setText("TOTAL PRICE: $" + (basePrice));
}
}
检查';单曲 – tkausl