totalOrderedLabelを更新しようとしています。オーダーリストからアイテムを削除するとtotalOrderedLabel内のtotalPriceが更新されるようになりました。合計オーダーリストを更新しようとしています
削除]ボタン
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);
オーダーリスト/方法は、合計金額を追加します。
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ラベル
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を行う最良の方法は、OrderedFoodListをObservableにし、それに依存するすべてのグラフィカルフィールドに対してObserverを追加することです。更新時には、SwingUtilities.invokeLater(Runnable) – ControlAltDel
@LydiaRichardsonを使用してください。そして、正確な問題は何ですか?あなたはJLabelのテキストを設定する方法を知っていますか? JListを反復処理してすべての値を合計する方法を知っていますか?あなたはあなたの「注文の注文」ボタンでこのすべてのロジックを実行するように見えます。では、「削除」ボタンの違いは何ですか? – camickr
あなたとあなたの兄弟が一緒に問題を解決するために協力しないのはなぜですか?http://stackoverflow.com/questions/36509153/trying-to-create-a-remove-button-which-removes-items-from-a-リスト/ 36509400#36509400そしてあなたの助けを受けるときにあなたの兄弟が答えを受け入れるように思い出させる間、 – camickr