에서 만든에 대한 통지를 얻으려면? UIEvents.TrimmedWindow.TOPIC_ALL
과 UIEvents.Window.TOPIC_ALL
을 들으려고하지만 아무 일도 일어나지 않습니다 ...는 어떻게 우리가 응용 프로그램에 대한 알림이 다음과 같은 방법으로 완료 시작 얻을 수있는 창 애드온에서 열거 나 E4
0
A
답변
0
추가 기능을 만들면 주 응용 프로그램 창이 이미 만들어져 EModelService
을 사용하여 찾을 수 있습니다. 그들은 MUIElement.setToBeRendered
를 호출하여 렌더링 할 때
UIEvents.UIElement.TOPIC_TOBERENDERED
이벤트 (가시가 또는 숨겨진) 모든 UI 개체에 대한 당신을 말할 것이다 :
@Inject
@Optional
void event(@UIEventTopic(UIEvents.UIElement.TOPIC_TOBERENDERED) Event event)
{
if (event == null)
return;
// The UI element
Object element = event.getProperty(UIEvents.EventTags.ELEMENT);
// Rendered or hidden value
Boolean toBeRendered = (Boolean)event.getProperty(UIEvents.EventTags.NEW_VALUE);
그러나이 이벤트는하지 않습니다 동적으로 생성 된 개체에 대해 생성되지 않습니다 setToBeRendered
UIEvents.Context.TOPIC_CONTEXT
이벤트는 컨텍스트가 설정된 모든 개체를 생성하기 위해 시작됩니다.이 경우 다른 시간에 시작될 수도 있습니다.
답변 해 주셔서 감사합니다. 그러나 메소드'void event (@UIEventTopic (UIEvents.UIElement.TOPIC_TOBERENDERED) 이벤트 이벤트)'는 결코 호출하지 않습니다. – Say
부품 호출을 추적하기 위해이 호출을 사용합니다. 그것은 또한 일부 개방을 위해서도 발사되지만 전부는 아니며, 그것이 어떻게 행해지 느냐에 달려 있습니다. 'Event'가'org.osgi.service.event.Event'인지 확인하십시오. 다른'Event' 클래스 중 하나를 사용하면 작동을 멈출 것입니다. –
모든 생성물에 대해 실행되는 작업은'UIEvents.Context.TOPIC_CONTEXT'이지만 다른 시간에도 실행될 수 있습니다. –