Java Swing开发咖啡店菜单:如何实现多选单选按钮并计算总价
实现多商品总价计算的方法
你当前只能计算单个商品总价的核心原因是使用了if...else if的互斥判断逻辑,只要其中一个条件命中就会跳过其余商品的金额计算,且总价是直接赋值而非累加。修改方案如下:
- 把所有的
else if改为独立的if判断,每个选中的商品金额都累加到总价格中 - 如果你的业务需求允许用户同时选购多个商品,不要使用单选按钮组,单选按钮组的特性就是同一时间只能选中一个选项,天然不支持多选场景,你可以考虑把单选按钮替换为复选框,更符合用户的多选交互认知。如果一定要保留单选按钮,需要把所有单选按钮移出按钮组,解除互斥限制。
改造后的代码示例:
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { double total = 0.0; // 每个商品单独判断,选中就累加对应金额 if(rbCappucino.isSelected()){ int count = Integer.parseInt(chboxCappucino.getValue().toString()); total += count * 1.0; } if(rbAmericano.isSelected()){ int count = Integer.parseInt(chboxAmericano.getValue().toString()); total += count * 1.50; } if(rbLatte.isSelected()){ int count = Integer.parseInt(chboxLatte.getValue().toString()); total += count * 2.50; } // 格式化输出避免过多小数位 totalText.setText(String.format("%.2f", total)); }
你当前的实现效果:
内容的提问来源于stack exchange,提问作者Feliks_JS
相关产品推荐
相关产品推荐

