ADF: разделитель панели и кнопка командной панели инструментов

Я создал приложение ADF, в котором есть страница, использующая разделитель панели и кнопку панели инструментов команды. 1.Как сделать ширину разделителя панели фиксированной и не перемещать ее на страницах ADF? С тех пор я могу перемещать сплиттер с помощью мыши и регулировать размер.

2.Как отключить кнопку командной панели или изменить цвет после нажатия? Причина, по которой мне это нравится, состоит в том, чтобы сообщить пользователю, какая страница просматривается в данный момент. Например: У меня есть панель навигации (с помощью кнопки панели инструментов) -HOME -РЕГИСТРАЦИЯ -ПРОСМОТР ПРОЕКТА Если я выберу кнопку РЕГИСТРАЦИЯ, она отобразит страницу регистрации. Кнопка РЕГИСТРАЦИЯ отключит или изменит цвет, пока не будет выбрана другая кнопка.

Кто-нибудь может помочь? Нужна эта штука срочно. Заранее спасибо.


person Reena Sham    schedule 15.10.2012    source источник
comment
Разделитель панелей перемещается по горизонтали? Скриншот был бы полезен (для вашей первой проблемы). Для вашей второй проблемы (кнопка) вы можете просто добавить метод в свой компонент, который активируется при нажатии определенной кнопки. yourButton.setDisabled(true) (не забудьте привязать кнопку)   -  person User404    schedule 16.10.2012


Ответы (1)


Q1) установите для свойства disabled разделителя значение true

<af:panelSplitter id="ps1" disabled="true" ... />

Q2) Как насчет размещения информации на странице, чтобы пользователь мог прочитать, на какой странице он находится. Для этого вам не нужно ничего менять, если в приложение нужно добавить другую страницу. Если вы действительно хотите реализовать это с помощью стилей кнопок, вы можете установить атрибут в области потока страниц для идентификатора последней нажатой кнопки, затем вы установите свойство disabled каждой кнопки на панели инструментов или EL, например

disabled="#{pageFlowScope.lastButtonClicked eq 'ctb1'}"

Где ctb1 — это идентификатор кнопки. На кнопку ctb1 вы добавляете

<af:setActionListener from="#{'cbt1'}" to ="#{pageFlowScope.lastbuttonClicked}"/>

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

РЕДАКТИРОВАТЬ:

Вы можете использовать ту же технику для переключения, например. цвет фона кнопки. Для этого вы используете EL для атрибута inlineStyle каждой кнопки, например:

inlineStyle="#{pageFlowScope.lastButtonClicked eq 'ctb1'?'background-color:Aqua;' :''}"

Затем последняя нажатая кнопка должна иметь цвет фона Aqua.

ОБНОВИТЬ:

#{(sessionScope.teamPage eq 'MGRV')?'background-color:rgb(99,206,255); color:red; font-weight:bolder;':'background-color:transparent;'}
person Timo Hahn    schedule 16.10.2012
comment
Привет... Спасибо за ответ. Я уже установил отключить = true для разделителя панели, и он работает. Спасибо.. Для командной кнопки, это возможно, если я хочу изменить цвет командной кнопки после щелчка пользователя. Поскольку в настоящее время она отключается только. возможно ли это сделать? Заранее спасибо. - person Reena Sham; 17.10.2012
comment
Спасибо... это мне действительно помогло. Цвет кнопки изменился, но цвет шрифта не изменился. Вот код, который я поместил в inlineStyle.#{(sessionScope.teamPage eq 'MGRV')?'background-color:rgb( 99 206 255); цвет: красный; font-weight:bolder;':'background-color:transparent;'} Я хочу изменить цвет шрифта, так как, когда я отключаю кнопку, цвет шрифта становится тусклым. Возможно ли это? - person Reena Sham; 18.10.2012
comment
Это должно работать. Однако вашему выражению нужен пробел между цветом фона и цветом шрифта. Я добавил это в ответ для лучшего форматирования. - person Timo Hahn; 18.10.2012