Класс содержит списки загружаемых картинок, которые надо подгружать в разные моменты: например, это загрузка меню, загрузка игрового поля и т.д.. Классу, которому надо получить картинки (например, класс управления меню (для тех, кто в танке)), обращается к нашему вспомогательному классу управления картинками через статический метод, например:
Images.nature()[1];
Выше описанный метод возвращает картинку, которая находится в списке картинок NATURE под 1 индексом, т.е. это картинка "sun2". Я думаю, когда вы прочтете исходник класса Images, вы поймете, как это работает.
import javax.microedition.lcdui.Image;
public class Images {
static final String FOLDER = "/images/"; // Папка, где хранятся картинки
static final String[] NATURE = {"sun1", "sun2", "sun3"}, GUI = {"soft", "soft_icons", "panel_text"}; // В массивах NATURE и GUI храняться названия загружаемых картинок без расширения
static Image[] nature, gui; // В этих массивах хранятся сами картинки
//Конструктор класса закрытый, так как это вспомогательный класс
private Images() {
}
// Этот метод работает с набором картинок NATURE
public static Image[] nature() {
if (nature == null) {
nature = loadImages(NATURE);
}
gui= null;
return nature;
}
// Этот метод работает с набором картинок GUI
public static Image[] gui() {
if (gui == null) {
gui = loadImages(GUI);
}
nature = null;
return gui;
}
// Метод, который загружает картинки, если они не были еще загружены
static Image[] loadImages(String[] images) {
try {
Image[] imgs = new Image[images.length];
for (int i = 0; i < images.length; i++) {
imgs[i] = Image.createImage(FOLDER + images[i] + ".png");
}
} catch (Exception e) {
e.printStackTrace();
}
return imgs;
}
}