제네릭 arraylist에서 제출 한 정보로 TextArea를 업데이트하는 방법을 파악하는 데 문제가 있습니다.Java에서 ArrayList 정렬
Order d1 = new Order();
그런 다음 사용자가 어떤 데이터를 선택하고 추가 버튼을 가압하고, 순서가 텍스트 영역에 추가되어 현재로서는 프로그램이 새로운 주문을 생성한다. 문제는 목록의 올바른 위치에 주문을 추가하고 매번 업데이트해야한다는 것입니다. 나는 "하나 개의 항목 만하여 정렬거야. 나는 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으로 바꾸고, string은 app의 비즈니스 로직이 아닌 문자의 순서를 나타내야합니다. 그 후에 당신은 커피 물체를 생산하는 공장을 가져야 만합니다. 그런 다음 보통 B 또는 WNS (White No Sugar)를 주문할 경우에는 그러한 모든 설정이 필요하지 않습니다 .--). 이 책 "헤드 퍼스트 디자인 패턴"을 읽어 보시기 바랍니다. –