私は自動車サービスを計算するプログラムを作成しようとしていますが、実際にチェックボックスとテキストフィールドを計算する方法は分かりません。ですから、私が悩んでいるのは、顧客がそれを引かない方法を選択していない場合でも、トータルフィールドに合計を表示する方法です。合計を得るためにチェックボックスとテキストフィールドを計算する方法
import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JComboBox;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;
public class JoesAuto extends JFrame implements ItemListener {
private JCheckBox oilBox;
private JCheckBox lubeBox;
private JCheckBox radiatorBox;
private JCheckBox transBox;
private JCheckBox tireBox;
private JCheckBox inspectionBox;
private JCheckBox mufflerBox;
private JLabel partsLabel;
private JLabel laborLabel;
private JLabel totalLabel;
private JTextField partsField;
private JTextField laborField;
private JTextField totalField;
private JButton calcButton;
private JButton resetButton;
private JPanel topPanel;
private JPanel bottomPanel;
private JLabel totPrice;
private int totalPrice;
public final double OIL_CHANGE = 26.00;
public final double LUBE_JOB=18.00;
public final double RADIATOR_FLUSH=30.00;
public final double TRANSMISSION_FLUSH=80.00;
public final double INSPECTION=15.00;
public final double MUFFLER_REP=100.00;
public final double TIRE_ROTATION=20.00;
public JoesAuto() {
oilBox = new JCheckBox ("Oil Change");
lubeBox = new JCheckBox ("Lube Job");
radiatorBox = new JCheckBox ("Radiator Flush");
transBox = new JCheckBox ("Transmission Flush");
tireBox = new JCheckBox("Tire Rotation");
inspectionBox = new JCheckBox("Isnpection");
mufflerBox = new JCheckBox("Muffler Replacement");
topPanel = new JPanel(new GridLayout(7,1));
topPanel.add(oilBox);
topPanel.add(lubeBox);
topPanel.add(radiatorBox);
topPanel.add(transBox);
topPanel.add(tireBox);
topPanel.add(inspectionBox);
topPanel.add(mufflerBox);
bottomPanel = new JPanel (new GridLayout(3,3));
laborLabel = new JLabel ("Labor");
laborField = new JTextField (10);
partsLabel = new JLabel ("Parts");
partsField= new JTextField (10);
totalLabel = new JLabel ("Total");
totalField = new JTextField (10);
bottomPanel.add(laborLabel);
bottomPanel.add(laborField);
bottomPanel.add(partsLabel);
bottomPanel.add(partsField);
bottomPanel.add(totalLabel);
bottomPanel.add(totalField);
oilBox.addItemListener(this);
lubeBox.addItemListener(this);
radiatorBox.addItemListener(this);
transBox.addItemListener(this);
tireBox.addItemListener(this);
inspectionBox.addItemListener(this);
mufflerBox.addItemListener(this);
add(topPanel,BorderLayout.NORTH);
add(bottomPanel,BorderLayout.CENTER);
setVisible(true);
setSize(500,500);
setLocationRelativeTo(null);
}
@Override
public void itemStateChanged(ItemEvent e) {
object source = e.getSource();
if(source==oilBox){
totalPrice+=26;
}
totPrice.setText(totalPrice); // won't accept it
}
public static void main (String [] args) {
new JoesAuto();
}
}
これは本当に助けになりました。ありがとうございました。 –