因此,我无法弄清楚如何使用从泛型数组列表提交的信息来更新TextArea。截至目前的程序创建一个新的订单:在Java中对ArrayList排序
Order d1 = new Order();
然后,用户选择某些数据并按下增加按钮,并顺序加入到一个TextArea。我遇到的问题是我必须将顺序添加到列表中的正确位置,并且每次更新它。我“米只是一个项目排序它。我真的不知道怎么说使用CompareTo方法做。
public void actionPerformed(ActionEvent event)
{
ArrayList<Drink> DrinkArray = new ArrayList<Drink>();
if (event.getSource() == addcoffeeButton)
{
String coffeesize = (String) sizecoffeelist.getSelectedItem();
double coffeeprice = Double.parseDouble(pricecoffeeTextfield.getText());
String coffeetype = (String) cuptypecoffeelist.getSelectedItem();
String coffeecaffeine = (String) caffeineList.getSelectedItem();
String coffeeroom = (String) roomforcreamList.getSelectedItem();
String coffeeadditional = additionalflavorList.getText();
if ((coffeeadditional.isEmpty()))
coffeeadditional = "No Additional Flavor";
Drink d1 = new Coffee(coffeesize, coffeeprice, coffeetype, coffeecaffeine, coffeeroom, coffeeadditional);
DrinkArray.add(d1);
orderTextArea.append(d1);
所以我必须将它添加到阵列之前增加饮料中的正确位置和打印到文本区,但我不太清楚如何做到这一点。
你能详细点吗?你没有解释太多......什么是正确的*点?你如何更新“每次”? – oldrinb
一个小的观察,通常在FIFO中处理订单。所以对于这种情况,排序的概念很奇怪,直到客户不是VIP或其他东西。除此之外,您应该尝试创建更多的面向对象。首先用enum替换字符串,字符串应该表示字符序列而不是app的业务逻辑。之后,你应该有生产咖啡对象的工厂,那么如果一些订单普通的B或WNS(白色无糖);-),那么所有这些设置将不是必需的。我建议你阅读这本书“首先设计模式”。 –