如何将字符串数组从单独的方法添加到 JList 模型?
How can I add an array of strings from a separate method to a JList model?
我有一个 JList 模型,它希望我在我的字符串数组中指定索引("array[i]" 而不仅仅是 "array"),以便将其添加为一个元素。否则它只是 returns 哈希码。如果它来自单独的方法,我该如何添加它?我找到的唯一方法是每次需要时都复制粘贴该方法的代码,这似乎不是一个好的解决方案。
这是我要添加的地方:
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;
}
}
我绝不是一个优秀或经验丰富的程序员,所以任何帮助都是有用的!
改为:
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);
我有一个 JList 模型,它希望我在我的字符串数组中指定索引("array[i]" 而不仅仅是 "array"),以便将其添加为一个元素。否则它只是 returns 哈希码。如果它来自单独的方法,我该如何添加它?我找到的唯一方法是每次需要时都复制粘贴该方法的代码,这似乎不是一个好的解决方案。
这是我要添加的地方:
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;
}
}
我绝不是一个优秀或经验丰富的程序员,所以任何帮助都是有用的!
改为:
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);