处理2.0 -打开文件对话框

我的目标是从“文件打开”对话框中选择一个文件,读取它并根据文件的内容绘制对象。我找到了打开该对话框的方法(参见下面的框架代码),但是PDE程序在我选择文件之前就开始绘图了。由于绘图依赖于所选文件的内容,因此我得到一个空指针错误。

我的问题是,在draw方法启动之前,我如何选择文件?

如果我在setup()中显式地定义了我的文件(Amas.in),那么一切都很好,程序会根据给定的文件显示我的输出。

如果我使用selectInput(...),只有在draw()启动后才会出现要求我输入文件名的对话框,从而导致指针错误。

如果我显式地定义了我的文件,然后调用selectInput(...),程序会根据初始文件开始绘制对象,然后询问我需要哪个新文件;但是,在我选择新文件后,程序会忽略该新文件的内容。

默认的Amas.in和我的其他文件都在data文件夹中。

我做错了什么?

提前感谢您的建议。

String myInputFile ;

void setup() {

    selectInput("Select a file : ", "fileSelected");

    String[] lines = loadStrings("Amas.in");        // works
    //String[] lines = loadStrings(myInputFile);      // doesn't work

}

void draw() {

    ellipse(mouseX, mouseY, 9, 9);
    println("Selected at this point " + myInputFile);

}

void fileSelected(File selection) {

    if (selection == null) {
        myInputFile = "Amas.in" ;
        println("Default file is opened : " + myInputFile);
    } else {
        myInputFile = selection.getAbsolutePath() ;
        println("User selected " + myInputFile);
    }

}

转载请注明出处:http://www.ommtl.com/article/20230526/2339550.html