Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Знатоки! Очень совет требуется! / 5 сообщений из 5, страница 1 из 1
09.11.2004, 15:49
    #32773869
Anatoly K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Знатоки! Очень совет требуется!
Я пока новичок в Java, вот задался вопросом (чего-то ничего не могу придумать).

Грубо говоря, хочу, чтобы мое приложение хранило настройки к файле свойств (ну там позиция на экране, размер окна, IP адреса и т.д.).
При старте программы я эти настройки вычитал (например в какой-то класс) и потом в принципе могу ими пользоваться, обращаясь к свойствам этого класса. Только вот как этот класс сделать видимым во всех остальных классах во время выполнения? В C++ я бы создал глобальную переменную этого класса и видел бы ее везде (external), а как в Java? Смысл - не открывать/читать файл свойств каждый раз, когда создается объект класса, эти свойства использующий. Пока что только один способ нашел - создавать экземпляр класса свойств вначале в main и потом передавать его в качестве параметра во все другие классы.
Может кто посоветует что-нибудь другое.
...
Рейтинг: 0 / 0
09.11.2004, 16:01
    #32773905
Gurney
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Знатоки! Очень совет требуется!
Для этих целей используются статические переменные или шаблон Singleton.
Создай класс приблизительно такого вида:
public class MyConfig {

public static MyConfig instance = null;

private MyConfig() {
super();
loadConfig();
}

public static synchronized MyConfig getInstance() {
if(instance == null){
instance = new MyConfig();
}

return instance;
}

}

из программы вызываем:
MyConfig.getInstance().getOption()
...
Рейтинг: 0 / 0
09.11.2004, 16:02
    #32773909
Gurney
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Знатоки! Очень совет требуется!
Gurneypublic static MyConfig instance = null;
Пардон, private static MyConfig instance = null;
...
Рейтинг: 0 / 0
09.11.2004, 16:06
    #32773925
GammiBear
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Знатоки! Очень совет требуется!
Что-то типа :

Объявление класса с опциями

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
 public   class  Options{
     .....
      public   void  loadOptions(){......}
      public   void  saveOptions(){ ... }
      public   int  getOption0001(){....}
      public  String getOption0002(){....}

      private   static  Options theInstance =  null ;
      public   static   synchronized  getInstance(){
           if (theInstance== null ){
               theInstance =   new  Options();
               theInstance.loadOptions();
          }
            return  theInstance;
     }
}

Использование :



Код: plaintext
1.
2.
3.
4.
.....
  int  nPort = Options.getInstance().getOption0001();
 String theIp = Options.getInstance().getOption0002();
.....
...
Рейтинг: 0 / 0
09.11.2004, 16:09
    #32773930
Anatoly K
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Знатоки! Очень совет требуется!
Спасибо большое, будем пробовать.

Вот приходила в голову мысль - что то связанное со static должно быть....

Как говорил один мой знакомый - учите матчасть, батенька.
Будем изучать ключевое слово static.
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Знатоки! Очень совет требуется! / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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