"Whiteout" весь графический интерфейс Swing, кроме одного компонента - PullRequest
1 голос
/ 30 августа 2010

[Этот вопрос относится к этому вопросу ]

Настройка : у меня есть этот домашний компонент "редактируемая метка", который выглядит как метка,но когда вы щелкаете по нему, оно превращается в редактируемое поле, позволяя вам редактировать его.Вы можете нажать Esc, чтобы отменить, или Shift-Enter, чтобы подтвердить изменения - или щелкнуть соответствующие кнопки под редактируемым полем.

Задача : при нажатии на редактирование я хочу весь пользовательский интерфейсбыть «вычеркнутым», за исключением области метки редактирования, чтобы четко обозначить пользователю, где он должен сосредоточиться.

Ответы [ 2 ]

2 голосов
/ 30 августа 2010

Альтернативно, этого можно добиться с помощью проекта JXLayer. Взгляните на некоторые из их демонстраций, где они размывают графический интерфейс при выборе элемента. Вам бы пришлось реализовать свой собственный вид JXLayer, чтобы вычеркнуть ваш GUI.

URL проекта: https://jxlayer.dev.java.net/

Демонстрации находятся под пунктом "Начало работы" на первой странице.

1 голос
/ 30 августа 2010

Вы можете взглянуть на возможные варианты использования стеклянного стекла ...

ОБНОВЛЕНО из-за комментария автора вопроса.

Эта проблема обычно решается с помощью личной реализации Look'n'Feel.

Как правило, для компонента, для которого требуется экран, будет установлено свойство client для этой цели. LnF, который создал компонент рендеринга для этого компонента, также зарегистрировал прослушиватель. Когда это свойство установлено, компонент запускает событие, которое получит LnF. При приеме события стеклянная панель затем устанавливается на всю раму контейнера.

...