【问题标题】:How can I add an array of strings from a separate method to a JList model?如何将字符串数组从单独的方法添加到 JList 模型?
【发布时间】:2020-08-16 14:06:03
【问题描述】:

我有一个 JList 模型,它希望我在字符串数组中指定索引(“array[i]”而不仅仅是“array”),以便将其添加为元素。否则它只返回哈希码。如果它来自单独的方法,我该如何添加它?我发现的唯一方法是每次需要时复制粘贴该方法的代码,这似乎不是一个好的解决方案。

这是我要添加的地方:

    DefaultListModel model = new DefaultListModel();
    for (int i = 0; i < fileFinder.thing().length; i++) {
        model.addElement(fileFinder.thing());
    }
    JList list = new JList(model);
    list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    scrollPane.setViewportView(list);

这是该方法的样子:

    public class fileFinder {
    public static String[] thing() {
        File file = new File(".\\at9snfsbs");
        File[] files = file.listFiles(new FilenameFilter() {

            @Override
            public boolean accept(File dir, String name) {
                if (name.toLowerCase().endsWith(".at9")) {
                    return true;
                } else {
                    return false;
                }
            }
        });
        String[] fileNames = new String[files.length];
        for (int i = 0; i < files.length; i++) {
            fileNames[i] = files[i].getName();
        }

        return fileNames;
    }
}

我绝不是一个优秀或经验丰富的程序员,所以任何帮助都会很有用!

【问题讨论】:

    标签: java arrays string swing jlist


    【解决方案1】:

    改成:

    DefaultListModel model = new DefaultListModel();
    String[] things = fileFinder.thing();
    for (String thing : things) {
        model.addElement(thing);
    }
    JList list = new JList(model);
    list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    scrollPane.setViewportView(list);
    

    您也可以像这样使用长版本的 for 循环:

    DefaultListModel model = new DefaultListModel();
    String[] things = fileFinder.thing();
    for (int i = 0; i < things.length; i++) {
        model.addElement(things[i]);
    }
    JList list = new JList(model);
    list.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    scrollPane.setViewportView(list);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-03
      • 2015-03-09
      • 2020-06-25
      • 2021-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多