|
|
|
Как запретить действия пользователя с окном программы после появления блокирующего окна?
|
|||
|---|---|---|---|
|
#18+
Все кнопки и менюшки блокируются .setEnabled(false). Но у пользователя есть возможность кликнуть на окно программы и оно становиться поверх блокирующего окна, скрывая его. И кроме этого окно программы можно перемещать по экрану. Собственно вопрос о том, как лишить пользователя последнего, чтобы все его внимание было на блокирующем окне? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2016, 15:37 |
|
||
|
Как запретить действия пользователя с окном программы после появления блокирующего окна?
|
|||
|---|---|---|---|
|
#18+
Сергей_ТВВсе кнопки и менюшки блокируются .setEnabled(false). JavaFX? Сергей_ТВНо у пользователя есть возможность кликнуть на окно программы и оно становиться поверх блокирующего окна, скрывая его. Что вы назывете "блокирующим окном"? Есть понятие "модальный диалог". Понятия "блокирующее окно" - нет. Сергей_ТВИ кроме этого окно программы можно перемещать по экрану. Собственно вопрос о том, как лишить пользователя последнего, чтобы все его внимание было на блокирующем окне? А зачем? Никто же так не делает? Почему вы не следуете общепринятым подходам в UI? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2016, 16:01 |
|
||
|
Как запретить действия пользователя с окном программы после появления блокирующего окна?
|
|||
|---|---|---|---|
|
#18+
Blazkowicz, по сути блокирующее окно - это модальное окно. Зачем делать так, если так никто не делает. Это вопрос философский. В моем случае получилось так, что написать несколько строк собственной реализации модального окна оказалось быстрее чем разбираться со стандартным решением таких задач. Поясню, пишется программа, в которой важен первый результат, который она даст. Дальше будет приниматься решение о целесообразности ее использования. Если будет признана полезной для практического применения, значит будет переписана по правилам. Если будет признана бесполезной, то и не сильно много времени на нее потрачено. Поэтому и ситуация такая, что если есть простое решение типа ui.setEnabled(false) оно приемлемо, а если что-то сложное и потребует времени, то времени нет. За ответ (уже написанный) спасибо. Если будут еще мысли, буду благодарен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2016, 16:31 |
|
||
|
Как запретить действия пользователя с окном программы после появления блокирующего окна?
|
|||
|---|---|---|---|
|
#18+
Сергей_ТВпо сути блокирующее окно - это модальное окно. да. Дальше у тебя ничего не понял. В JavaFX нет модальных окон? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2016, 16:43 |
|
||
|
Как запретить действия пользователя с окном программы после появления блокирующего окна?
|
|||
|---|---|---|---|
|
#18+
Сергей_ТВui.setEnabled(false) оно приемлемо лучше Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2016, 16:44 |
|
||
|
Как запретить действия пользователя с окном программы после появления блокирующего окна?
|
|||
|---|---|---|---|
|
#18+
Сергей_ТВВ моем случае получилось так, что написать несколько строк собственной реализации модального окна оказалось быстрее чем разбираться со стандартным решением таких задач. вот, минуту поискал Код: java 1. а ты скока писал? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2016, 16:51 |
|
||
|
Как запретить действия пользователя с окном программы после появления блокирующего окна?
|
|||
|---|---|---|---|
|
#18+
Положите все свои компоненты в какой-нибудь слой и setEnableФэлсайте его. По идее все что внутри будет так же недоступно. Но по мне дак, проще использовать и поддерживать именно модальные окна. Если есть желание сделайте свою реализацию, добавьте всякие там поля ввода, какую-то другую форму для заполнения, различные кнопки. Но! В частности в Vaadin, я использую аддоны для этого дела, в частности MessageBox. Реже пишу свои реализации, но готовое использовать проще, вот к примеру красивый с какой-то точки зрения кусок кода, с применением этого аддона Код: java 1. 2. 3. 4. 5. И иконки свои можно запилить и кнопки разные и форму для ввода можно добавить. Так что, я бы поискал готовое решение для вашего фреймворка. п.с по началу мне этот код с вызовом кучи методов в одной строке показался диковатым, но теперь привык, сразу вижу что к чему в нем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2016, 18:20 |
|
||
|
Как запретить действия пользователя с окном программы после появления блокирующего окна?
|
|||
|---|---|---|---|
|
#18+
Nixic, Вроде уже все есть в платформе. И даже. MessageBox в одну строку. Аффтар жалуется на нехватку времени. Но это менять профессию надо. Представьте что хирург скажет: "мне некогда тут платформу тела изучать. Я лучше сам скальпелем))))). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2016, 18:54 |
|
||
|
Как запретить действия пользователя с окном программы после появления блокирующего окна?
|
|||
|---|---|---|---|
|
#18+
> Но у пользователя есть возможность кликнуть на окно программы... Само окно т.е. JFrame заблокировать setEnabled(false). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2016, 19:58 |
|
||
|
Как запретить действия пользователя с окном программы после появления блокирующего окна?
|
|||
|---|---|---|---|
|
#18+
Petro123, Переписал код с использользованием модального окна Код: java 1. Нравится, что окошко весит поверх программы и перемещается вместе с окном программы. Что не нравится (читай не разобрался). Хочу убрать многострочное (16 строк) блокирование кнопок и менюшек методом .setEnabled(false) и пробую это сделать через указание типа модальности. Стандартно доступно 4 типа : TOOLKIT_MODAL, APPLICATION_MODAL и т.п.. По смыслу и по факту не подходит ни один. Мне нужно так, чтобы жизнь программы продолжалась, цыферки бегали, в программе, в модальном окошке и в консоле все это отображалось. Есть такое решение или проще .setEnabled(false) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2016, 20:32 |
|
||
|
Как запретить действия пользователя с окном программы после появления блокирующего окна?
|
|||
|---|---|---|---|
|
#18+
В моем случае не стоило глубоко с модальностью. Заблокировать доступ к основному окну программы можно было в одну строку Код: java 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2016, 20:59 |
|
||
|
Как запретить действия пользователя с окном программы после появления блокирующего окна?
|
|||
|---|---|---|---|
|
#18+
Сергей_ТВ, - если ты делаешь пилотное демо приложение, то зачем тебе эти недоступен\доступен? - если делаешь модальность сам, то не забывать что модальность это 3 функционала focus\z-order\enable Делать это руками очень не просто. Сергей_ТВМне нужно так, чтобы жизнь программы продолжалась, цыферки бегали, в программе, в модальном окошке и в консоле все это отображалось. Есть такое решение или проще .setEnabled(false) ? не понял. Если код работает, то в модальном окне всё также бегает и отображается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.11.2016, 21:42 |
|
||
|
|

start [/forum/topic.php?fid=59&msg=39352211&tid=2123468]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
23ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
1ms |
| others: | 226ms |
| total: | 332ms |

| 0 / 0 |
