Я создавал эту программу инвентаризации, которая получает идентификатор продукта, имя, цену товара и запасы из текстового файла. Он импортирует его в мой список товаров (JList
), затем, когда я нажимаю кнопку «добавить в корзину», он перемещает выбранный товар в корзину (что является еще одним JList
).
Мой главный вопрос: как я могу рассчитать сумму всех цен в корзине? Как связать цены товаров с указанной c ценой? Предполагая, что для отображения общей цены, я использую JLabel
.
Вот несколько картинок и код:
Моя программа инвентаризации
Это код для кнопки перемещения на данный момент:
public void actionPerformed(ActionEvent e) {
if (e.getSource() == movebutton) {
model2.addElement(list.getSelectedValue());
}
Этот код отображает изображения, название товара, цену и запас товара:
public void valueChanged(ListSelectionEvent e) {
try {
String gadgets = (String) c1.getSelectedItem(); //when the combobox is selected
switch (gadgets) {
case "Consoles": //selects first product category
image.setIcon(graphicsconsole[list.getSelectedIndex()]); //sets the image
File file = new File("stock\\consoles\\consoles.txt"); //reads the txt file
int ctr = 0;
try {
Scanner s1 = new Scanner(new File(String.valueOf(file)));
while (s1.hasNextLine()) {
ctr = ctr + 1;
s1.next();
s1.next();
s1.next();
s1.nextLine();
}
String[] ID = new String[ctr];
String[] PRICE = new String[ctr];
String[] STOCK = new String[ctr];
String[] NAME = new String[ctr];
Scanner s2 = new Scanner(new File(String.valueOf(file))); //creates strings
for (int i = 0; i < ctr; i = i + 1) {
ID[i] = s2.next();
PRICE[i] = s2.next();
STOCK[i] = s2.next();
NAME[i] = s2.nextLine();
iteminfo.setText(NAME[list.getSelectedIndex()]); //shows the item name
itemdescription.setText(" P " + PRICE[list.getSelectedIndex()]); //shows the price
itemstock.setText(" Stock: "+ STOCK[list.getSelectedIndex()]); //shows the stock
}
} catch (Exception a) {
a.printStackTrace();
}break;
Нужно ли иметь пустой массив и добавить туда значения? Как мне также удалить значения, когда их нет в корзине? Извините, если мой пост / вопрос звучит запутанно, я надеюсь, что это понятно.