Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Настройки программ / 6 сообщений из 6, страница 1 из 1
09.03.2007, 23:31:07
    #34381649
ГостЪ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки программ
Храню настройки программы в файлах properties.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
 static  {
     RESOURCEBUNDLE = ResourceBundle.getBundle("resources.MyProgram", Locale.getDefault());
}
     public  String getResourceString(String nm) {
        String str;
         try  {
            str = RESOURCEBUNDLE.getString(nm);
        }
         catch  (MissingResourceException mre) {
            str =  null ;
        }
         return  str;
    }
     public  URL getResource(String key)
    {
        String name = getResourceString(key);
         if  (name !=  null ) {
             return   this .getClass().getResource(name);
        }
         return   null ;
    }

Необходимо получать доступ к настройкам из разных классов, поэтому я создал отдельный класс со статик методами, все работает кроме getResource

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
 public   class  Settings {
 private   static  ResourceBundle RESOURCEBUNDLE;

     public   static  setResourceBundle (ResourceBundle RES) {
         RES = RESOURCEBUNDLE;
    }
     public   static  String getResourceString(String nm) {...}

     public   static  URL getResource(String key) { ???????????????  }

}
...
Рейтинг: 0 / 0
09.03.2007, 23:38:01
    #34381659
andrushok
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки программ
ГостЪ
Ну и что не работает то ... Ошибку в студию, пожалста.
...
Рейтинг: 0 / 0
10.03.2007, 09:44:30
    #34381781
ГостЪ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки программ
В классе Settings :

Код: plaintext
1.
2.
3.
4.
5.
6.
 public   static  URL getResource(String key) {
         if  (name !=  null ) {
             return  RESOURCEBUNDLE.getClass().getResource(name);
        }
         return   null ;
}

Все время null возврвщает.
Код: plaintext
1.
RESOURCEBUNDLE.getClass().getResource(name);
Эта конструкция не работает
...
Рейтинг: 0 / 0
10.03.2007, 12:20:13
    #34381868
y3u
y3u
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки программ
ГостЪВ классе Settings :

Код: plaintext
1.
2.
3.
4.
5.
6.
 public   static  URL getResource(String key) {
         if  (name !=  null ) {
             return  RESOURCEBUNDLE.getClass().getResource(name);
        }
         return   null ;
}

Все время null возврвщает.
Код: plaintext
1.
RESOURCEBUNDLE.getClass().getResource(name);
Эта конструкция не работает

во-первых откуда взялся name, во-вторых, getClass() - это от Object метод и возвращает он, в данном случае, объект Class - тут, враппер ResourceBundle.class... А метод getResource(...) достает локальные ресурсы по протоколам либо file:// либо jar://... так что учи матчасть, читай джавадоки... Если тебе надо из пропертей получить урл - парсь его явно с помощь того же URL
...
Рейтинг: 0 / 0
10.03.2007, 17:32:39
    #34382114
diablero
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки программ
В файле .properties , проверь путик файлам, они должны быть вида:
Код: plaintext
1.
image=/resources/images/myimage.gif
...
Рейтинг: 0 / 0
10.03.2007, 18:30:25
    #34382135
ГостЪ
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Настройки программ
Заработало, у меня слеша после равно не хватало
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Настройки программ / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]