gpt4 book ai didi

java - 添加多选JList的值

转载 作者:行者123 更新时间:2023-12-01 23:01:22 26 4
gpt4 key购买 nike

我正在尝试添加所选商品的价格,然后将其返回到主类,我将在主类中将它们添加到其他值。然而,当我运行该程序时,与我所拥有的相比,我得到了非常大的数字。

到目前为止我已经到这里了。

import java.util.Random;
import javax.swing.*;
import java.util.Arrays;
import java.text.DecimalFormat;
import javax.swing.event.*;
import java.awt.event.*;
import java.awt.*;

public class OtherPrdctPanel extends JPanel implements ListSelectionListener
{
private JPanel otherPrdctPanel;
private JList otherPrdctList;
public int selectedOtherService;

private String[] miscellaneousProd = {"Grip tape: $10",
"Bearings: $30", "Riser pads: $2",
"Nuts & bolts kit: $3"};
private int[] miscellaneousProdPri = {10, 30, 2, 3};


public OtherPrdctPanel()
{
setBorder(BorderFactory.createTitledBorder("Other Products"));

otherPrdctList = new JList(miscellaneousProd);
add(otherPrdctList);

otherPrdctList.setSelectionMode(ListSelectionModel.MULTIPLE_INTERVAL_SELECTION);
otherPrdctList.addListSelectionListener(this);

setLayout(new GridLayout(3, 1));

}

public void valueChanged (ListSelectionEvent e)
{
int selection;
selectedOtherService = 0;
selection = (int)otherPrdctList.getSelectedIndex();

for(int i = 0; i < 4; i++)
{
selectedOtherService = selectedOtherService + miscellaneousProdPri[selection];
}


}
}

请帮忙。

谢谢。

最佳答案

由于您使用的是MULTIPLE_INTERVAL_SELECTION选择模式,因此您必须考虑所有选择。考虑使用这样的方法来计算总数。

public int calculateTotalPrice() {
int[] selections = otherPrdctList.getSelectedIndices();
int total = 0;
for (int i : selections) {
total += miscellaneousProdPri[i];
}
return total;
}

然后您可以通过按下“计算”按钮来调用它。此方法也不要求您实现 ListSelectionListener,并且您可以删除 valueChanged 方法。

关于java - 添加多选JList的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23331504/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com