Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Java [игнор отключен] [закрыт для гостей] / Можно ли такое реализовать? / 6 сообщений из 6, страница 1 из 1
08.09.2015, 09:02
    #39045456
VaneS Ri_lax
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли такое реализовать?
Здравствуйте, помогите пожалуйста реализовать следующее:
к примеру у меня есть переменная
Код: java
1.
int x=1;


Можно ли сделать так, чтобы срабатывало событие когда значение этой переменной меняется?
Заранее большое спасибо!
...
Рейтинг: 0 / 0
08.09.2015, 09:19
    #39045470
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли такое реализовать?
VaneS Ri_lax,

Научитесь отличать поля и локальные переменные.
Для реализации события нужно инкапсулировать переменную в класс и реализовать доступ через accessor-ы.

Код: java
1.
2.
3.
4.
5.
void setX(int x){
   int old = this.x;
   this.x = x;
   firePropertyChanged("x", x, old);
}



http://docs.oracle.com/javase/7/docs/api/java/beans/PropertyChangeSupport.html
...
Рейтинг: 0 / 0
08.09.2015, 09:44
    #39045500
VaneS Ri_lax
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли такое реализовать?
Blazkowicz,
Я наверное не совсем верно описал код, в общем вот что у меня есть:
Код: java
1.
2.
3.
4.
5.
6.
7.
public class Test {
    public static int x = 0;
    
    public static void main(String[] args){
        
    }
}


Как сделать так чтобы срабатывало какое то событие если к примеру при работе программы переменная x сменила свое значение
...
Рейтинг: 0 / 0
08.09.2015, 09:47
    #39045506
oneHalf
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли такое реализовать?
...
Рейтинг: 0 / 0
08.09.2015, 09:52
    #39045511
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли такое реализовать?
VaneS Ri_laxЯ наверное не совсем верно описал код, в общем вот что у меня есть:

Наличие static ничего принципиально не меняет.

VaneS Ri_lax
Код: java
1.
2.
3.
4.
5.
6.
7.
public class Test {
    public static int x = 0;
    
    public static void main(String[] args){
        
    }
}



Ого-го сколько принципиально другого кода.

VaneS Ri_laxКак сделать так чтобы срабатывало какое то событие если к примеру при работе программы переменная x сменила свое значение
По нормальному - точно так как я описал. Google -> GoF Observer pattern
Можно извратиться и спрятать такой код, но в этом нет необходимости.
...
Рейтинг: 0 / 0
08.09.2015, 09:54
    #39045513
Blazkowicz
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Можно ли такое реализовать?
VaneS Ri_lax,

Есть вот такие "продвинутые" решения. Но чтобы их использовать нужно иметь серьезную причину
http://stackoverflow.com/a/12386861
...
Рейтинг: 0 / 0
Форумы / Java [игнор отключен] [закрыт для гостей] / Можно ли такое реализовать? / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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