【发布时间】:2011-11-08 20:15:25
【问题描述】:
我是Java初学者,所以如果我犯了一些错误,请原谅我......
我有一个 JComboBox 分配给一个名为 fileNames 的数组。我的目标是让 JComboBox 显示某个目录中的所有文件名。到目前为止,我已经编写了代码,将目录中的所有文件分配给一个名为 files 的字符串。
代码:
package modmaker;
public class GuiBlocks2 extends JFrame {
/**
*
*/
private static final long serialVersionUID = 1L;
public JFileChooser filePath;
FileEditor fileeditor = new FileEditor();
/**
* Launch the application.
*/
static String files;
static String[] fileNames={files};
public static void main(String[] args) {
EventQueue.invokeLater(new Runnable() {
public void run() {
try {
GuiBlocks2 frame = new GuiBlocks2();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
// Directory path here
String path = ".";
File folder = new File(path);
File[] listOfFiles = folder.listFiles();
for (int i = 0; i < listOfFiles.length; i++)
{
if (listOfFiles[i].isFile())
{
files = listOfFiles[i].getName();
if (files.endsWith(".png") || files.endsWith(".PNG"))
{
System.out.println(files);
}
}
}
}
在此之后,还有另一种方法可以添加分配给 fileNames 数组的组合框。我的问题:如何将所有文件分配给数组。
【问题讨论】:
-
为什么是静态变量?为什么不在实例方法中只做你的类初始化代码(在 invokeLater 块中)?考虑不使用 Array 而是使用 DefaultComboBoxModel 并将文件名添加到此模型中,因为您在 for 循环中标识它们。
标签: java arrays methods combobox