我已经搜索了这个网站,其他人也在寻找答案。
我创建了一个 GUI 来计算零售折扣。我可以输入信息,使用计算按钮执行计算,并将其添加到 JTextArea 中显示的列表中。然后我使用一个新项目按钮来清除这些区域(文本字段除外)。当我为第二个项目单击“添加到列表”按钮时,它可以工作,但会在文本区域中放置两个信息副本。如何让它只放一份信息?
下面是“添加到列表”按钮的事件侦听器的代码
/*
* Private inner class to handle add to list event
*/
private class AddListener implements ActionListener
{
@Override
public void actionPerformed (ActionEvent a)
{
//Get and set sale item name to ItemList object
String name = saleItem.getName();
iL.setName(name);
//Get and set department name to ItemList object
String dept = dP.getDep();
iL.setDpt(dept);
//Get and set original price to ItemList object
String oP = dsP.getOrg();
iL.setOp(oP);
//Get and set sale price to ItemList object
String sP = dsP.getSale();
iL.setSp(sP);
//Add ItemList object to ArrayList
iList.add(iL);
final String text = "Sale Item: \t" + iL.getSIname() +
"\nDepartment: \t" + iL.getDpt() +
"\nOriginal Price: \t$" + iL.getOp() +
"\nSale Price: \t$" + iL.getSp() + "\n\n";
//Add ArrayList to text area
for(int index = 0; index < iList.size(); index++)
{
ItemList iLt = (ItemList)iList.get(index);
itemL.append(text);
}
}
}