我正在完成一个 GUI 程序,它将充当餐厅的在线订购菜单,但是我似乎遇到了两个问题。我的计算处理程序方法似乎只是冻结了整个 java 小程序。它没有显示任何错误或任何东西,它只是冻结。继承人事件处理程序:
ArrayList<Double> yourOrderPrices = new ArrayList<Double>();
ArrayList<String>yourOrderName = new ArrayList<String>();
ArrayList<String> specifications = new ArrayList<String>();
Iterator<Double> it1 = yourOrderPrices.iterator();
private void calcButtonActionPerformed(java.awt.event.ActionEvent evt) {
int x = 0;
double temp;
while(it1.hasNext()){
temp = yourOrderPrices.get(x);
orderTotal += temp;
}
subTotalLabel.setText("Sub Total: " + orderTotal);
totalPriceLabel.setText("Tax Rate: " + orderTotal / TAX_RATE);
totalPriceLabel.setText("Total: " + (orderTotal / TAX_RATE) + orderTotal);
//Reset Variable
orderTotal = 0;
}
基本上,这应该做的是通过添加 yourOrderPrices ArrayList 中的所有价格来计算小计,它应该除以税率并显示它,并且它应该添加总价格的税率。里面的变量代表食物的价格,是双倍的。但是每次我按下按钮时,整个程序都会冻结。
此外,我试图将文本包装在 2 个 textArea 框中,但每次我尝试调用 setLineWrap(true); 它在 Eclipse 上显示为无法做到这一点。这是我试图将其放入的两个文本区域:
detailTextArea.setEditable(false);
detailPanel.add(detailTextArea, java.awt.BorderLayout.CENTER);
和
orderTextArea.setEditable(false);
eastPanel.add(orderTextArea);