TotalOrderedLabel cihazımı güncellemeye çalışıyorum, böylece orderList öğesinden bir öğeyi kaldırdığımda, totalOrderedLabel içindeki toplamFiyatı güncellenecektir.Toplam sipariş listesini güncellemeye çalışıyorum
Kaldır Düğme
JButton removeButton = new JButton("remove");
removeButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int selectionNumber = orderList.getSelectedIndex();
if (selectionNumber == -1) {
JOptionPane.showMessageDialog(MenuPage.this, "Remove Item");
} else {
listOrder.removeElementAt(selectionNumber);
double totalPrice = 0.0;
for(Food food : OrderedFoodList) {
totalPrice = totalPrice + food.getPrice();
}
totalOrderedLabel.setText("Total price: " + totalPrice);
OrderedFoodList.clear();
}
}
});
removeButton.setBounds(680, 189, 117, 29);
contentPane.add(removeButton);
orderList/yöntem toplam tutarı kadar ekleyin.
menulist listOrder = new menulist();
orderList = new JList(listOrder);
JButton orderBtn = new JButton();
orderBtn.setText("Place Order");
orderBtn.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
int selectionNumber = mealList.getSelectedIndex();
if (selectionNumber == -1){
JOptionPane.showMessageDialog(MenuPage.this, "Please select a meal");
} else {
Food orderedMeal = (Food) mealList.getSelectedValue();
JOptionPane.showMessageDialog(MenuPage.this, "You have ordered " //clear the last order . find a code to do that
+ orderedMeal + "");
listOrder.addElement(orderedMeal);
double totalPrice = 0.0;
for(Food food : OrderedFoodList) {
totalPrice = totalPrice + food.getPrice();
}
totalOrderedLabel.setText("Total price: " + totalPrice);
}
}
});
orderBtn.setBounds(259, 189, 117, 29);
contentPane.add(orderBtn);
totalOrdered Etiket
totalOrderedLabel = new JLabel("Total Price");
totalOrderedLabel.setBounds(697, 111, 142, 16);
contentPane.add(totalOrderedLabel);
totalCaloriesLabel = new JLabel("Total Calories");
totalCaloriesLabel.setBounds(388, 205, 253, 16);
contentPane.add(totalCaloriesLabel);
}
public void updateLabel(menulist model) {
int selectionNumber = mealList.getSelectedIndex();
if (selectionNumber == -1){
//JOptionPane.showMessageDialog(MenuPage.this, "Please select a meal");
} else {
Food menulist = (Food) mealList.getSelectedValue();
Food itemFood = (Food) ((menulist) model).getElementAt(selectionNumber);
//Add new food to current order
OrderedFoodList.add(itemFood);
IMO'yu yapmanın en iyi yolu, OrderedFoodList 'Observable' yapmak ve sonra 'Gözlemcinin' üzerine bağlı olan tüm grafik alanlarını eklemek olacaktır. Güncelleştirme hakkında, SwingUtilities.invokeLater (Runnable) – ControlAltDel
@LydiaRichardson kullanmayı unutmayın ve tam olarak sorun nedir? Bir JLabel'in metnini nasıl kuracağınızı biliyor musunuz? JList boyunca nasıl yineleyip, tüm değerleri nasıl toplayacağınızı biliyor musunuz? Tüm bu mantığı "Yer Siparişi" düğmenizde yapıyorsunuz. Peki "Kaldır" düğmesi hakkında farklı olan nedir? – camickr
Siz ve kardeşiniz sorunu çözmek için neden birlikte çalışmıyorsunuz? Http://stackoverflow.com/questions/36509153/trying-to-create-a-remove-button-which-removes-items-from-a- list/36509400 # 36509400 Ve senin yardımını alırken kardeşinin cevapları kabul etmeye başladığını hatırlatıyor. – camickr