|
|
|
onChange
|
|||
|---|---|---|---|
|
#18+
есть такой код Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. если закоментирован пустой листенер, то на смену Combobox item System.out.println("change"); не срабатывает. Если добавить пустой листенер(раскоментить строку), то срабатывает. В чем проблема понять не могу... может кто поможет? JDK 1.8.0_72 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 10:34 |
|
||
|
onChange
|
|||
|---|---|---|---|
|
#18+
точнее если с закоментированным листенером то срабатывает только 1 раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 10:38 |
|
||
|
onChange
|
|||
|---|---|---|---|
|
#18+
покажи fxml. И это делай не в коде, а в дизайнере мышкой DNShark Код: java 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 10:58 |
|
||
|
onChange
|
|||
|---|---|---|---|
|
#18+
я без fxml написал. Там окно только с одним Combobox. Код: java 1. а root это BorderPane класс рабочий. это весь код чтобы проверить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 11:02 |
|
||
|
onChange
|
|||
|---|---|---|---|
|
#18+
DNSharkя без fxml написал. Там окно только с одним Combobox. мне не интересно разбирать пример со свалки-веба без рекомендаций JavaFX вер. 8 Удачи! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 11:09 |
|
||
|
onChange
|
|||
|---|---|---|---|
|
#18+
DNShark, - Логику кода проследить не могу. Зачем нужен список пропертей? - Поведение либо ошибочное, либо не детерменированное, так как при пошаговой отладке change срабатывает всегда, а как только убираешь breakpoint-ы, то уже не срабатывае. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 11:27 |
|
||
|
onChange
|
|||
|---|---|---|---|
|
#18+
Petro123, это не со свалки, а с моего проекта. (. Могу с fxml суть та же.... файл sample.fxml Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. Main. java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. Controller.java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 11:31 |
|
||
|
onChange
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, у нас настройки хранятся, как список пропертей, и когда они меняются, то срабатывает обработчик. Загорается кнопка Apply и прочее. А вот на combobox немного с навороченной логикой, не срабатывает. Да вот как-то так, в дебаге работает. Какая-то магия. Могу конечно, добавить пустой листенер и написать //magic fix don't touch please но хочется все таки понять, что в логике работы неправильно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 11:36 |
|
||
|
onChange
|
|||
|---|---|---|---|
|
#18+
DNSharkэто не со свалки, а с моего проекта. На свалку бы надо. Смысл кода не уловим. Похоже на побочные эффекты. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 11:38 |
|
||
|
onChange
|
|||
|---|---|---|---|
|
#18+
DNShark у нас настройки хранятся, как список пропертей, и когда они меняются, то срабатывает обработчик. Ага, теперь вижу. Дизайн, конечно, у ObservableList через задний проход. Есть экстрактор - слушаем элементы, нет экстрактора - не слушаем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 11:46 |
|
||
|
onChange
|
|||
|---|---|---|---|
|
#18+
BlazkowiczНа свалку бы надо. Смысл кода не уловим. Похоже на побочные эффекты. Прошу прощения, не подозревал, что это JavaFX в такое говно скатился, что без пол-литра не разобраться. Теперь больше похоже на баг в JavaFX. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 11:47 |
|
||
|
onChange
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, да без пол-литры никуда). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 12:04 |
|
||
|
onChange
|
|||
|---|---|---|---|
|
#18+
DNSharkфайл sample.fxml другое дело. - @FXML где? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 12:22 |
|
||
|
onChange
|
|||
|---|---|---|---|
|
#18+
Petro123, можно добавить в Controler.java над Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 12:29 |
|
||
|
onChange
|
|||
|---|---|---|---|
|
#18+
DNShark, Попробовал понатыкать breakpoint с логированием. При достижении критической массы начинает работать. После отключения парочки - снова перестаёт. Похоже, что где-то из GUI, скорее всего комбобоксом пропихивается событие, из-за которого инвалидация уже не срабатывает. Если добавлен слушатель или breakpoint, то событие из GUI отрабатывает позже (или раньше?) и тогда оно на основной процесс уже не оказывает влияния. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 12:30 |
|
||
|
onChange
|
|||
|---|---|---|---|
|
#18+
Самые хреновые баги, это когда что-то должно происходить, а не происходит. И не понятно где искать код, из-за которого что-то не происходит, ведь оно не происходит! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 12:31 |
|
||
|
onChange
|
|||
|---|---|---|---|
|
#18+
DNShark, Всё. Кажется нашел. Смотри. Вся соль в StringPropertyBase поле valid. Эта скотина меняет состояние, где бы вы думали? В методе get()! В том случае, когда слушатель отрабатывает 1 раз, флаг устанавливается в false и больше никогде не становится true, потому что никто его не читает. Если добавить слушателя, или в точках останова выполнится toString() - все отладчики так показывают объект, то get() метод ставит флаг valid и инвалидация срабатывает каждый раз. Похоже на некую оптимизацию, если свойство никто не читает, то и нехрен его обновлять каждый раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 12:44 |
|
||
|
onChange
|
|||
|---|---|---|---|
|
#18+
Petro123, если как в проекте то у нас так идёт. через <fx:root> но всё равно это детали. К багу они имеют только косметическое отношение sample.fxml Код: java 1. 2. 3. 4. 5. 6. 7. 8. Controller.java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. Main.java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 12:45 |
|
||
|
onChange
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, ну ты джедай! спасибо) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2017, 12:46 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39463030&tid=2122883]: |
0ms |
get settings: |
8ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
48ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
67ms |
get tp. blocked users: |
2ms |
| others: | 236ms |
| total: | 397ms |

| 0 / 0 |
