簡體   English   中英

如何使用JButton和JTextArea繼續向List添加值而不重寫它們

[英]How to keep adding values to a List using a JButton and JTextArea without them being re-written

private void addButtonActionPerformed(java.awt.event.ActionEvent evt) {

    String newCD = (cdInput.getText());


    List <String> cdList = new ArrayList();
    Collections.addAll(cdList, "ExampleG","ExampleB","ExampleR","ExampleX");
    cdList.add(""+newCD);

    List<String> sorted = new ArrayList<String>(cdList);
    Collections.sort(sorted);

    bigBox.setText("");

    bigBox.append("Original Order\n**************\n");

    for (String o : cdList)  {
        bigBox.append(o);
        bigBox.append("\n");
    }

    bigBox.append("\n\nSorted Order\n************\n");

    for (String s : sorted)  {
        bigBox.append(s);
        bigBox.append("\n");
    }
}

使用此代碼,我可以添加1個值,但是當我嘗試添加另一個時,它會刪除原始代碼並替換它。 我該怎么做才能防止這種情況發生?

PS。 我正在嘗試制作一張CD列表,並能夠添加新的CD並將它們排序並按原始順序排列

根據您的代碼,您沒有List集中實例,這意味着,每次激活按鈕時,它都沒有先前列表中的概念。

首先創建cd List的實例變量,然后根據需要僅向其中添加新項。

更像是......

private List<String> cdList = new ArrayList<>(25);

private void addButtonActionPerformed(java.awt.event.ActionEvent evt) {

    String newCD = (cdInput.getText());
    cdList.add(newCD);

    List<String> sorted = new ArrayList<String>(cdList);
    Collections.sort(sorted);

    bigBox.append("Original Order\n**************\n");

    for (String o : cdList)  {
        bigBox.append(o);
        bigBox.append("\n");
    }

    bigBox.append("\n\nSorted Order\n************\n");

    for (String s : sorted)  {
        bigBox.append(s);
        bigBox.append("\n");
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM