当我单击收据按钮时,它会询问用户是否要再次订购,我已经清除了表中的内容,但是当我再次订购新产品时,我在第一张收据上首先订购的项目会返回到表中。。
public void refTable() {
DefaultTableModel tableModel = (new javax.swing.table.DefaultTableModel(
new Object[][]{},
new String[]{
"Menu", "Price", "Quantity", "Total"
}
) {
boolean[] canEdit = new boolean[]{
false, false, false, false
};
public boolean isCellEditable(int rowIndex, int columnIndex) {
return canEdit[columnIndex];
}
});
try {
double total = 0;
for (MenuModel menumodel : controller1.getMenulist()) {
ArrayList al = new ArrayList();
al.add(menumodel.getItemName());
al.add(formatter.format(menumodel.getPrice()));
al.add((int) menumodel.getQuantity() + "");
al.add(formatter.format(menumodel.getTotal()));
total = total + menumodel.getTotal();
tableModel.addRow(al.toArray());
}
double tax = 0.12;
JLabel_subTotal.setText(formatter.format(total));
JLabel_Tax.setText(formatter.format(total * tax));
JLabel_Total.setText(formatter.format((total * tax) + total));
JTableOrderReceived.setModel(tableModel);
} catch (NullPointerException e) {
System.out.println("sad");
}
}
private void JTableMenuOrderMouseReleased(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
int quanti = 0;
int row = JTableMenuOrder.rowAtPoint(evt.getPoint());
if (row >= 0 && row < JTableMenuOrder.getRowCount()) {
JTableMenuOrder.setRowSelectionInterval(row, row);
} else {
JTableMenuOrder.clearSelection();
}
int rowindex = JTableMenuOrder.getSelectedRow();
if (rowindex < 0) {
return;
}
String quantity = JOptionPane.showInputDialog(this, controller.getMenulist().get(rowindex).getItemName() + "\n" + "Number of Quantity :");
selectedProduct = controller.getMenulist().get(rowindex);
MenuModel mouseSelected = new MenuModel();
MenuModel menumodel = controller1.search(selectedProduct.getItemName());
try {
if (menumodel != null) {
selectedProduct = controller1.search(selectedProduct.getItemName());
if (quanti > 0) {
double temp = menumodel.getQuantity();
quanti += temp;
controller1.removeMenu(selectedProduct);
refTable();
mouseSelected.setItemName(selectedProduct.getItemName());
mouseSelected.setPrice(selectedProduct.getPrice());
mouseSelected.setQuantity(quanti);
mouseSelected.setTotal(quanti * selectedProduct.getPrice());
controller1.addMenu(mouseSelected);
} else {
JOptionPane.showMessageDialog(this, "Error");
}
} else {
if (quanti > 0) {
mouseSelected.setItemName(selectedProduct.getItemName());
mouseSelected.setPrice(selectedProduct.getPrice());
mouseSelected.setQuantity(quanti);
mouseSelected.setTotal(quanti * selectedProduct.getPrice());
controller1.addMenu(mouseSelected);
} else {
JOptionPane.showMessageDialog(this, "Cannot add item: " + selectedProduct.getItemName() + "\nYou must enter quantity", "Error", JOptionPane.ERROR_MESSAGE);
}
}
refTable();
} catch (NullPointerException e) {
JOptionPane.showMessageDialog(this, "Cannot add item: " + selectedProduct.getItemName() + "\nQuantity must be greater than zero!", "Error", JOptionPane.ERROR_MESSAGE);
}
}
private void JTableOrderReceivedMouseReleased(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
int row = JTableOrderReceived.rowAtPoint(evt.getPoint());
if (row >= 0 && row < JTableOrderReceived.getRowCount()) {
JTableOrderReceived.setRowSelectionInterval(row, row);
} else {
JTableOrderReceived.clearSelection();
}
int rowindex = JTableOrderReceived.getSelectedRow();
if (rowindex < 0) {
return;
}
selectedProduct = controller.getMenulist().get(rowindex);
if (evt.isPopupTrigger()) {
Delete.show(evt.getComponent(), evt.getX(), evt.getY());
}
}
//This is the reciept button action----
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
System.out.println("Customer name: " + menubill.getCustomerName() + "\n");
int result = JOptionPane.showConfirmDialog(null, "Would you like to order again?", "EAT N' RUN", JOptionPane.YES_OPTION);
if (result == JOptionPane.NO_OPTION) {
System.exit(0);
}
DefaultTableModel model = (DefaultTableModel) JTableOrderReceived.getModel();
model.setRowCount(0);
JTextField_customerName.setText("");
}
我想问题出在这段代码上(defaulttablemodel=(defaulttablemodel)jtableorderreceived.getmodel();model.setrowcount(0);)它只是暂时清除我收到的订单,但当我再次在菜单中订购产品时,它会返回。。也许有人能帮上忙?或者它怎么了为什么会回来。。
暂无答案!
目前还没有任何答案,快来回答吧!