2010-05-14 4 views
1

사용자 인터페이스에 AWT를 사용하는 Java로 작성된 Windows Mobile 응용 프로그램이 있습니다. 나는 SWT에 UI 포팅을 찾고있다. Windows Mobile 용 SWT 라이브러리를 보유하고 실제로 작업을 포팅 할 때 어떤 작업이 포함되는지 살펴보기 시작했습니다. 애플리케이션에서 많은 수의 스크린을 처리하는 방법을 먼저 결정해야한다고 생각합니다.SWT for Windows Mobile : UI 아키텍처

AWT에서 UI는 기본적으로 CardLayout이있는 단일 java.awt.Frame입니다. 각 화면은 java.awt.Panel의 확장 일 뿐이며 프레임에 추가됩니다. 그런 다음 다른 화면으로 변경해야 할 때마다 해당 패널을 맨 위에 놓습니다.

SWT에는 이러한 레이아웃 관리자가 없습니다 (응용 프로그램의 모든 화면과 관련된 시스템 리소스가 항상 보유되기 때문에 어쨌든 가장 효율적/최선의 방법이라면 확실하지 않습니다) . 필자가 생각한 한 가지 방법은 각 스크린이 자체 org.eclipse.swt.widgets.Shell이 ​​될 것이라는 것입니다. 한 스크린에서 다른 스크린으로 전환 디스플레이 매니저 클래스 새 화면 (쉘)을 생성하고 이전의 처분 포함 것이다 (쉘 및 위젯의 모든 화면이 표시 될 때마다 만드는 여기 명중 성능의 확실하지?)를 . 하나의 모바일 응용 프로그램에서 여러 개의 껍질을 가진다면 좋은 생각입니까?

누구나 SWT를 사용하는 모바일 애플리케이션에서 여러 화면을 처리하는 가장 좋은 방법에 대한 제안 사항이 있습니까? 현재 AWT에서 사용중인 메소드, 즉 CardLayout에 해당하는 메소드가 있습니까? 아니면 표시되지 않는 경우에도 모든 화면에 리소스를 사용할 수 있으므로이 방법을 사용하는 것이 가장 좋은 방법이 아니라고 생각하는 것이 맞습니까?

답변

1

내 자신의 질문에 대한 대답은 AWT의 CardLayout과 거의 동일한 SWT의 StackLayout이 실제로있는 것으로 보입니다. 그래서 나는 그것을 사용할 수 있고, 하나에서 다른쪽으로 이식하는 일은 똑같은 방식으로하기 때문에 꽤 쉽습니다.

0

Windows Mobile에서 어떻게 재생되는지 잘 모르겠지만 MigLayout은 SWT의 훌륭한 레이아웃 관리자로, 사용자가 설명하는 레이아웃을 지원할 수 있습니다.
데모를 확인하십시오.