将方法调用放入ArrayList?

Jus*_*yer 1 java arrays methods process progress-bar

我在Java程序中添加了一个加载栏功能,我想知道是否可以设置需要完成的进程列表,以便知道需要完成多少个进程.

例如,将它们保存为字符串?

ArrayList<String> processes = new ArrayList<String>();
processes.add("CSVWriter.createFileOfCompany(\"Random Company\");");
processes.add("FileConverter.convertCSVToXLS(classPath + 
    \"/Output/Random_Company.csv\");");

for (int i = 0; i < processes.size(); i++) {
    // run process
    // update loading bar
}
Run Code Online (Sandbox Code Playgroud)

这些不是我的程序的真正方法,但它们与我想要完成的非常相似.

我确定这不是最好的方法,但是我想有一些方法来创建这样的列表,所以我知道在运行之前有多少个进程.我有一个系统设置来进一步分解这些过程并显示它们的进度,所以此栏目非常精确,但我必须对每个进程编号= /.

也许我只是错过了重点.创建进度条对我来说是全新的.

如果有关于进度条创建的任何好文章,也可以随意发送给我.请记住,我没有使用基于摆动的实际GUI.这个栏是所有SOP文本.

非常感谢,

Justian Meyer

Gun*_*r47 5

希望在下一版本的Java中很快就会出现闭包,但在此之前,您可以使用实现已知接口的匿名类:

List<Runnable> jobs = new ArrayList<Runnable>();

jobs.add(new Runnable() {
    public void run() {
        CSVWriter.createFileOfCompany("Random Company");
    }
});

jobs.add(new Runnable() {
    public void run() {
        FileConverter.convertCSVToXLS(classPath + "/Output/Random_Company.csv");
    }
});

for (Runnable job : jobs) {
    job.run();
}
Run Code Online (Sandbox Code Playgroud)