являющийся массивом) и определяет метод getContents (). import javax.microedition.Icdui.'Image

import Java. io.lOException;

/**

Данный класс определяет локализованные ресурсы приложения I18NDemo3.

Вы извлекаете ресурс, вызывая метод getObject() в классе ResourceBundle.

*/

public class I18NDemoResources_en_US extends ListResourceBundle

// Содержит один из локализованных ресурсов. Нам необходимо

// инициализировать данную переменную в статическом

// инициализаторе данного класса, private static Image applcon;

private Object [][] contents =

{

('title', 'Hello, World'}, // Form title.

('greeting', 'My third MIDlet'}, // Form text.

('alert_title', 'Button Pressed'), // Alert title.

{'alert_text', 'A button was pressed!'),// Alert text.

{'exit', 'Exit'}, // «Exit» menu item.

{'menu', 'Menu'}, // «Menu» soft button.

{'cancel', 'Cancel'}, // «Cancel» menu item.

{'stop', 'Stop'}, // «Stop» menu item.

{'ok', 'OK'}, // «OK» menu item.

{'alert', 'Alert'}, // «Alert» soft button.

{'sayhi','Say Hi'}, // 'Say Hi' menu item.

{'screen', 'Screen'}, // «Screen» menu item.

{'item', 'Item'}, // «Item» menu item.

{'help', 'Help'}, // «Help» menu item.

{'app_icon', applcon} // Application icon.

};

/**

Конструктор No-arg.

*/

public I18NDemoResources_en_US()

{

super();

}

public Object ij[] getContents()

{

return contents;

}

// Необходим статический инициализатор для инициализации

// переменных, которые не могут быть инициализированы в

// массиве содержимого. Например, мы не можем выделить что-либо

// в массиве содержимого для создания изображения и,

// выполнить требуемую обработку исключений.

static

{

try

{

applcon = Image.createlmage('i!8n-en_US.png');

}

catch (lOException ioe)

{

System.оut.println(ioe.getMessage)));

ioe.printStackTrace();

}

}

}

Классы, которые определяют локализованные ресурсы для других региональных настроек, должны создавать подкласс непосредственно класса ListResourceBundle. В листинге 9.10 показан подкласс, содержащий ресурсы, локализованные под французский язык. Единственное усилие, требующееся для создания этого класса, — это изменение суффикса имени класса и редактирование текстовых строк. За исключением имени и значений атрибутов класс идентичен англоязычной версии.

Если класс определяет другие ресурсы кроме текстовых строк, тогда при создании экземпляра класса должны быть созданы объекты, соответствующие региональной настройке. Последний объект в списке является примером нетекстового ресурса, который инициализируется при создании экземпляра класса. Класс использует статический инициализатор Java для создания экземпляра статических нестроковых объектов при загрузке класса. Наша программа должна использовать статический инициализатор, потому что каждый класс локализованного ресурса создает определяемое региональной настройкой изображение.

Листинг 9.10. Ресурс каждой региональной настройки определяется в своем собственном соответствующем подклассе ListResourceBundle. Данный подкласс определяет атрибуты, локализованные для франкоязычного региона

import javax.microedition.lcdui.Image;

import Java.io.lOException;

/ **

Класс, представляющий локализованные ресурсы для французского языка региона Франции.

Обратите внимание на использование последовательностей переключения уникода в строковых литералах. Использование последовательностей переключения уникода в строковых литералах означает, что мы можем записать этот файл с помощью одних только символов ASCII, делая его эксплуатацию более легкой. Легко добавлять комментарии для создания удобочитаемых строк.

Вы читаете Платформа J2Me
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату