Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java tools & IDE's > как задать значения данных для класса?(НетБинс) |
Автор: millenium_11 17.11.2006, 15:43 | ||||
Добрый день! Я пишу под НетБинс ИДЕ 5.5 (тематика - расширение функциональности). Подскажите решение следующей проблемы: в layer.xml декларируется класс SIECFGEditorKit(), инстанс которого создается при загрузке ИДЕ:
Текст класса:
Можно ли изменить Layer.xml так, чтобы при создании инстанса этого класса SIECFGEditorKit() можно было задать значение для MIME_TYPE? |
Автор: millenium_11 22.11.2006, 17:16 |
Чё, неужели никто не знает ответ на вопрос? ![]() |
Автор: millenium_11 23.11.2006, 19:15 |
Ладно, тема закрыта. Приблизительно я разобралась. Все равно всем спасибо! |
Автор: LSD 23.11.2006, 20:20 |
Поделись решением, может еще кому пригодится ![]() |
Автор: millenium_11 24.11.2006, 12:21 | ||||
хорошо, поделюсь.... От разработчиков НетБинса получила такой ответ: I suppose you could create a factory method creating an SIECFGEditorKit initialized the way you need:
and register this method in the layer:
Но описанное выше - не то, что мне нужно. Я постаралась перефразировать вопрос: "можно ли, используя layer.xml, создать инстанс какого-либо класса и передать в его конструктор, например, строковый параметр?" Мне ответили: "I don't know of any way to do that." Поиски решения продолжаются... |
Автор: millenium_11 27.11.2006, 15:33 | ||||||
Всем здрасьте! Я окончательно и красиво разобралась в вопросе! ![]() Исходник класса, для которого я хочу задавать значение MIME_TYPE до того, как вызову его конструктор:
Создала следующий класс (фабрику):
В файле layer.xml создается экземпляр класса com.sieconfig.recognize.SIECFGEditorKitFactory, который будет называться SIECFGEditorKit.instance. После этого вызывается метод configure() данного класса, в котором из этого же layer.xml считывается значение атрибута mimeType в поле MIME_TYPE! Все гениальное - просто! Ура!
В атрибуте instanceOf прописываются классы, наследниками которых является создаваемый класс, либо интерфейсы, которые он имплементит. P.S. источник информации, на который я опиралась, находится по адресу: http://www.netbeans.org/download/dev/javadoc/org-openide-util/org/openide/util/doc-files/api.html P.P.S. наверняка здеть что-то коряво, но я ведь пока еще не волшебник... Зато работает! ![]() |
Автор: LSD 27.11.2006, 15:47 |
Поздравляю ![]() |
Автор: millenium_11 27.11.2006, 15:50 | ||||
Примечание 1. Таким образом можно установить значение только для ststic-переменной в stаstic-методе. Примечание 2. Если переменная, для которой Вы хотите установить значение, будет не стринговая, то необходимо также правильно подобрать соответствующий тип в xml-файле. Т.е., например, если бы я хотела присвоить значение ЛОЖЬ некой переменной public static boolean bol класса SIECFGEditorKitFactory, вызвав метод этого класса configureBoolean(), то в xml'е прописала бы следующее:
а в SIECFGEditorKitFactory.class надо добавить объявление поля: public static boolean bol; и такой метод:
|