gpt4 book ai didi

dialog - 处理 2.0 - 打开文件对话框

转载 作者:行者123 更新时间:2023-12-04 04:49:21 25 4
gpt4 key购买 nike

我的目标是从“文件打开”对话框中选择一个文件,读取它并绘制对象
基于文件的内容。
我找到了打开该对话框的方法(请参阅下面的框架代码),但是 PDE 程序启动
在我可以选择文件之前绘制。由于绘图取决于
所选文件的内容,我收到空指针错误。

我的问题是如何在 draw 方法开始之前选择文件?

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

如果我使用 selectInput(...),我只会收到询问我输入文件名的对话框
在 draw() 开始后,导致指针错误。

如果我明确定义我的文件,然后调用 selectInput(...),
程序根据初始文件开始绘制对象,然后问我
我想要哪个新文件;然而,在我选择我的新文件后,程序
忽略该新文件的内容。

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

我做错了什么?

提前感谢您的任何建议。

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);
}

}

最佳答案

也许您可以检查您的文件是否在安装程序或什至在绘图时加载,我相信您还需要在安装程序之外声明行,例如:

[代码编辑]

String [] myInputFileContents ;
String myFilePath;

void setup() {
selectInput("Select a file : ", "fileSelected");
while (myInputFileContents == null) {//wait
}
}

void draw() {
ellipse(mouseX, mouseY, 9, 9);
println("Selected at this point " + myFilePath);
}

void mousePressed() {
selectInput("Select a file : ", "fileSelected");
}

void fileSelected(File selection) {
if (selection == null) {
println("no selection so far...");
} else {

myFilePath = selection.getAbsolutePath();
myInputFileContents = loadStrings(myFilePath) ;// this moves here...

println("User selected " + myFilePath);
}
}

关于dialog - 处理 2.0 - 打开文件对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17665007/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com