如何将jspinner和双变量相乘?

3z6pesqy  于 2021-07-06  发布在  Java
关注(0)|答案(1)|浏览(257)

我正在尝试制作一个程序来模拟物品的结帐。我想把项目的数量乘以单位成本,得到总成本,但我想不出办法。
这是我的密码。

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);

任何帮助都将不胜感激。

gab6jxml

gab6jxml1#

在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时实时执行此操作,则需要在jspinner上创建一个操作事件来更新值/标签,这是一个更大的主题,需要一个新问题,但下面是一个粗略的示例:

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

相关问题