如何将Jspinner和double变量相乘

  • 本文关键字:变量 double Jspinner java
  • 更新时间 :
  • 英文 :


我正在尝试制作一个模拟物品结账的程序。我希望项目数量与单位成本相乘,得到总成本,但我很难找到实现这一点的方法。

这是我的密码。

JLabel amount0 = new JLabel("Amount");
JLabel unitcost0 =new JLabel("Unit Cost");
JLabel unitcost1 = new JLabel("$2.45");
JLabel unitcost2 = new JLabel("$79.99");
JLabel unitcost3 = new JLabel("$45.43");
JLabel unitcost4 = new JLabel("$3.00");
JLabel unitcost5 = new JLabel("$42.00");
JSpinner amount1= new JSpinner(new SpinnerNumberModel(0,0,50,1));
JSpinner amount2= new JSpinner(new SpinnerNumberModel(0,0,50,1)); 
JSpinner amount3 = new JSpinner(new SpinnerNumberModel(0,0,50,1));
JSpinner amount4= new JSpinner(new SpinnerNumberModel(0,0,50,1));
JSpinner amount5 = new JSpinner(new SpinnerNumberModel(0,0,50,1));


JLabel cost0 = new JLabel("Cost");
JLabel cost1 = new JLabel ( unitcost1* amount1);

任何帮助都将不胜感激。

在Java中,您只能使用数字执行数学运算,因此在您的情况下,您需要将数字存储为数字变量,如Double:

Double price = 2.45;

然后你可以在你的组件中使用这个数字变量:

JLabel yourLabel = new JLabel("$" + price);

然后要计算成本,您需要获得jSpinner:的数值

int spinnerValue = yourSpinner.getValue();

计算最终总数:

Double total = price * spinnerValue;
JLabel cost1 = new JLabel ("$" + total);

注意,如果你想在更改jSpinner时实时发生这种情况,那么你需要在jSpinners上创建一个操作事件来更新值/标签,这是一个更大的主题,需要一个新的问题,但这里有一个粗略的例子:

spinner.addChangeListener(new ChangeListener() {
public void stateChanged(ChangeEvent e) {
int spinnerValue = ((JSpinner)e.getSource()).getValue();
Double total = price * spinnerValue;
yourLabel.setText("$" + total);
}
});

最新更新