2013-03-20 3 views
1

저는 Hendra입니다. 나는 그리폰을 처음 접했어. 나는 griffon의 새 버전을 사용합니다. 1.2.0 버튼을 클릭하여 주 앱 창 내부에 새 창 (두 번째보기)을 여는 방법이 있는지 묻고 싶습니다. 어떻게 만드는지 보여 줄 수 있습니까?해결 : 그리폰의 주보기에서 새 창을 여는 방법은 무엇입니까?

내가 너무 많이 묻는다면 미안하지만 나는 그리폰을 더 잘 배우고 싶다.

안부, 헨드라 보조보기 가정

답변

1

는 다음

application(id: 'secondaryWindow', ...) { /* content */ } 

및 응용 프로그램의 구성 파일 (Application.groovy)와 같은 최고 수준의 창 컨테이너 차 '에 의해 식별되는 MVC 그룹 정의를 포함 정의 '그러면 어떤 컨트롤러라도 다음과 같은 창을 띄울 수 있습니다.

import griffon.transform.Threading 

class SomeController { 
    @Threading(Threading.Policy.INSIDE_UITHREAD_ASYNC) 
    def showSecondary = { 
     def group = createMVCGroup('secondary') 
     app.windowManager.show('secondaryWindow') 
    } 
} 
+0

안녕하세요, 아말 ​​레이. 빠른 응답에 감사드립니다. 위 코드를 시도했지만 여전히 오류가 발생합니다. 첫 번째 클릭에는 오류가 표시되지 않지만 두 번째 경우에는 다음과 같은 오류가 표시됩니다. "이름이 'window'인 MVC 그룹 'window'를 인스턴스화 할 수 없습니다. 그 이름을 가진 이전 인스턴스가 존재하며 올바르게 처리되지 않았기 때문입니다 ". 코드를 내 주 컨트롤러와 두 번째 mvcGroup보기의보기에 넣었습니다. 그루비 편집처럼 보이면 설명 할 수 있지만 메뉴 항목을 클릭하면 메인보기 윈도우 안에 두 번째 MVC보기 창이 표시됩니다. 안내가 필요합니다. – hendrakmg

+0

특정 MVC 그룹의 여러 인스턴스를 만들려면 각 인스턴스에 고유 한 ID를 할당해야합니다. 내가 게시 한 예제에서는 id를 할당하지 않으므로 mvcName이 id로 사용됩니다. 이름 충돌에 대한 자세한 내용은 http://griffon.codehaus.org/guide/latest/guide/applicationOverview.html#mvcGroupManager를 참조하십시오. 다른 창 안에 창을 표시 할 수는 없지만 첫 번째 창에 더 많은 구성 요소를 추가 할 수는 있습니다. – aalmiray

+0

안녕하세요, 아말감입니다. 내가 JInternalFrame을 사용하여 대답을 찾은 것 같아요. 지금까지 도와 주셔서 감사합니다. 정말 감사드립니다. 그건 그렇고, 너 바위 야! :디 – hendrakmg