代号一图像未加载

Codename One images not loading

图像在“src”文件夹中。一切正常,直到今天早上,当我 运行 模拟器时,我一直黑屏 “java.lang.IllegalArgumentException:流 == 空!”

import com.codename1.system.Lifecycle;
import com.codename1.ui.Form;
import com.codename1.ui.Image;
import com.codename1.ui.Label;
import com.codename1.ui.layouts.BoxLayout;

import java.io.IOException;

public class Application extends Lifecycle {
    @Override
    public void runApp() {
        Image image = null;
        try {
            image = Image.createImage("/icon.png");
        } catch (IOException e) {}
        Label label = new Label();
        label.setIcon(image);
        Form form = new Form(BoxLayout.yCenter());
        form.setLayout(BoxLayout.xCenter());
        form.add(label);
        form.show();
    }
}

您不能让异常冒泡,因为该方法是一个回调并且这是一个已检查的异常。但是将 Log.e(e) 添加到 catch 块中。永远不要做一个空白的 catch 块。

如果您使用 Maven,图像需要位于 resources 目录中,而不是 src 目录中。就像你看到的 here in the KitchenSink。在 common/src/main/resources.