![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
Platon |
|
||||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 4 Всего: 40 |
Здравствуйте, уважаемые.
Я написал работающий код, который мне, в принципе нравится. Но, возможно, есть подвох.
В этом коде обратите внимание на 2 строчки.
Фактически, я надеюсь на то, что в этих кнопках при установке одного и того же значения никакие ChangeListener'ы больше вызваны не будут. Могу ли я на 100% положиться на компоненты Swing, или стоит обезопасить себя? |
||||
|
|||||
dorogoyIV |
|
||||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
я возможно не совсем понял:
если
в методе "иф" show = true в методе "елсе" show = false лучше так:
можно, JComponent не меняет ссылку false/true на противоположную (третий вариант булевой переменной здесь не рассматриваем ![]() Это сообщение отредактировал(а) dorogoyIV - 1.11.2008, 22:47 |
||||||
|
|||||||
Keyo |
|
||||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 10.4.2008 Репутация: нет Всего: нет |
Не лучше ли
![]() |
||||
|
|||||
ivg |
|
|||
![]() Autonomous R&D ![]() ![]() Профиль Группа: Участник Сообщений: 686 Регистрация: 8.2.2006 Где: Екатеринбург Репутация: 4 Всего: 81 |
Keyo, ну тогда уж лучше
|
|||
|
||||
Keyo |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 95 Регистрация: 10.4.2008 Репутация: нет Всего: нет |
ivg, ну тогда уж, плюс к этому, лучше строки вынести в поля класса, как статик файнал, зачем плодить объекты
![]() |
|||
|
||||
dorogoyIV |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
Keyo,
ivg, ![]() ![]() ![]() |
|||
|
||||
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 4 Всего: 40 |
dorogoyIV, уважаемый, я что-то вообще ничего не понял...
Я не про противоположность имею ввиду. Распишу подробней. К примеру 0. у нас состояние двух кнопок false. 1. теперь на easyUpload ткнули, при переходе к методу showLoadPanel передается флажек true 2. в методе showLoadPanel вызывается опять же easyUpload.setSelected(show), который будет терминальной веткой, и выходит из метода easyUpload.setSelected(show) 3. в методе showLoadPanel вызывается hardUpload.setSelected(show), который обязательно вызовет все свои ChangeListener'ы, в том числе и мой привязанный, который вызывает опять же showLoadPanel с флажком true. 4. опять входим в showLoadPanel там обе строчки - терминальные ветки. 5. устанавливаем наш до невозможности оптимизированный код (за него отдельное спасибо), выходим 6. устанавливаем наш до невозможности оптимизированный код (за него отдельное спасибо), выходим Единственный маленький недочет - вызываем часть кода дважды (пункты 5,6). |
|||
|
||||
dorogoyIV |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
Platon, сдается мне - вы сами запутались в своих методах
к чему все эти сложности? у булевой переменной всего два значения - true/false , отсюда делаем выводы... я кажется недопонимаю чего то. ну давайте разберемся вместе - кидайте маленький упрощенный вариант кода, что бы можно было запустить Это сообщение отредактировал(а) dorogoyIV - 2.11.2008, 09:08 |
|||
|
||||
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 4 Всего: 40 |
dorogoyIV, showLoadPanel - своего рода Mediator, можно не только кликнуть по одной из двух кнопок, но и напрямую вызывать этот метод с установкой соответствующего флажка. Через минуту приведу код.
Добавлено через 14 минут и 55 секунд
|
|||
|
||||
dorogoyIV |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
![]() ![]()
можно ведь отменить ActionListener
кажется у вас логика построена по индусски... (это предположение - не вижу кода - не знаю) |
||||
|
|||||
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 4 Всего: 40 |
не по-индусски ли это? Код есть ;) обновите тему. На самом деле тут можно выделить полноценный класс SwitchMediator и сделать:
|
|||
|
||||
dorogoyIV |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
Platon, на самом деле я вам доверяю, (шахматы!!!) , но кажется в этом месте вы затупили!!! или я туплю
![]() |
|||
|
||||
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 4 Всего: 40 |
Да, в нашей беседе явно не хватает третьего адекватного лица.
Добавлено через 5 минут и 33 секунды не то что бы затупил, но подход поддозрительный, поэтому выставил вопрос на публику. |
|||
|
||||
dorogoyIV |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1503 Регистрация: 26.3.2007 Репутация: 36 Всего: 46 |
||||
|
||||
Platon |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1801 Регистрация: 25.4.2006 Репутация: 4 Всего: 40 |
Пожалуй, вы правы.
![]() |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, jk1. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: GUI и Java FX приложения | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |