【问题标题】:How to keep adding values to a List using a JButton and JTextArea without them being re-written如何使用 JButton 和 JTextArea 继续向 List 添加值而不重写它们
【发布时间】:2013-11-13 07:11:01
【问题描述】:
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 个值,但是当我尝试添加另一个值时,它会删除原始值并替换它。我能做些什么来防止这种情况发生?

附言。我正在尝试制作一个 CD 列表,并且能够添加新的 CD 并将它们也排序并按原始顺序放置

【问题讨论】:

    标签: java netbeans


    【解决方案1】:

    根据您的代码,您没有集中的 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");
        }
    }
    

    【讨论】:

    • 好吧,我是编程新手。如何创建 cdList 的实例变量?
    • 看到示例代码的第一行了吗?那是一个实例变量。您的整个班级都可以访问它。看看Understanding Instance and Class Members
    • 你刚刚写下的代码有点用,它正在删除所有文本并用新输入替换它
    • 假设每次都想保留文字,需要去掉bigBix.setText("");这一行
    • 我没有看到那行
    猜你喜欢
    • 1970-01-01
    • 2010-12-04
    • 1970-01-01
    • 2014-04-26
    • 2021-08-12
    • 1970-01-01
    • 2013-12-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多