VisualAge for Java에서 Visual Editor로 코드 이주

이 주제에서는 VisualAge for Java에서 Java 코드 이주에 대한 정보를 제공합니다.

Visual Editor for Java를 사용하여 Java 컴포넌트를 변경하면 소스 코드가 갱신되어 변경 사항을 반영합니다. 소스 코드는 특성 값을 변경하는 set 메소드로 반영됩니다. 그러나 Visual Editor for Java에서 사용하는 일부 정보는 디자인 타임에만 필요하므로 특성에 저장되지 않습니다. 이 정보는 자유 양식 표면에서 Java Bean의 위치를 포함합니다.

Java Bean을 사용하여 동일한 위치에서 Visual Editor for Java를 다시 열 수 있도록 이 정보를 저장하려면 Java Bean을 선언하는 행의 주석에 이 정보를 배치합니다. 다음 명령문은 16,17에 위치한 JFrame 컴포넌트를 표시합니다.

private javax.swing.JFrame ivjJFrame = null; // @jve:visual-info
decl-index=0 visual-constraint="16,17"

컴포넌트 위치를 나타내는 주석은 필요하지 않으며 주석이 없으면 Visual Editor for Java가 열릴 때 기본 위치가 할당됩니다. 이 기본 위치는 다른 컴포넌트에 포함되지 않는 최상위 레벨 Java Bean에만 적용되고 컨테이너 내에서 컴포넌트 위치에 영향을 주지 않습니다. 컨테이너 내에서 컴포넌트 위치는 컨테이너의 레이아웃 관리자 및 컴포넌트의 한계나 제한조건에 따라 결정됩니다.

VisualAge for Java에서는 소스 코드에 최상위 레벨 Java Bean(자유 양식 파트로 참조)의 위치가 없습니다. VisualAge for Java의 VCE(Visual Composition Editor)를 사용하여 작성한 파일을 이주할 경우에는 기본 위치가 사용됩니다. 위치 정보를 유지하려는 경우 VisualAge for Java로 로드되는 이주 유틸리티를 얻을 수 있습니다. 이주 유틸리티는 위치가 주석 형식으로 저장된 클래스를 나타냅니다. 유틸리티를 가져오려면 www.ibm.com/support/us/에서 최신 Conversion tool for VisualAge for Java Visual Composition Editor applications를 다운로드하십시오.

이 이주 유틸리티는 VisualAge for Java의 FixManager(작업공간 > 도구 > FixManager)를 사용하여 설치할 수 있는 tempfix로 사용할 수 있습니다. 유틸리티는 VisualAge for Java의 VCE를 사용하여 Visual Editor에 적합한 형식으로 개발된 클래스를 이주 및 내보냅니다. 이 패치를 설치한 후 프로젝트, 패키지 또는 클래스에 대한 팝업 메뉴에서 VCE 코드 생성/내보내기...를 선택할 수 있습니다. 이 항목을 선택하면 이전에 VCE를 사용하여 저장된 클래스의 코드를 다시 생성할 수 있는 마법사가 시작됩니다. 자유 양식 위치는 Visual Editor에서 사용하는 주석 형식으로 저장됩니다.

연결되어 있으면 이 유틸리티를 실행하기 전에 각 이벤트에 대해 내부 클래스 사용 VCE 코드 생성 옵션을 선택하여 우선 이 코드를 다시 생성할 수 있습니다. 그러나 일부 클래스는 VisualAge for Java의 버그로 인해 이 스타일로 변환할 수 없습니다. 이 경우에는 모든 이벤트에 대해 하나의 내부 클래스 사용 VCE 코드 생성 옵션을 사용해야 합니다. 마법사에서는 코드 생성이 완료된 후 클래스를 디렉토리로 내보내는 옵션도 제공합니다. Visual Editor for Java의 이벤트 지원은 내부 클래스 사용 안 함 VCE 코드 생성 스타일을 구문 분석하지 않습니다.


VCE 패턴 1


VCE 패턴 2

VCE는 자체 Java Bean 모델 및 해당 특성 값과 관계를 유지보수하므로 항상 이 모델에서 하향식 방식으로 소스를 재생성했습니다. 사용자의 소스 수정 작업은 //user code begin {1}//user code end 주석으로 구분된 소스의 미리 정의된 사용자 코드 포인트로 제한되었습니다. 또한 코드 생성이 수행될 때마다 Java Bean의 메소드가 재생성됨을 나타내기 위해 /* WARNING: THIS METHOD WILL BE REGENERATED. */ 행이 메소드 주석에 추가되었습니다. 이주 유틸리티에는 내보낸 코드에서 해당 VCE에서 생성된 주석을 제거하여 VCE 외부에서 더 이상 적용하지 않도록 하는 옵션이 있습니다. 그러나 사용자 코드 포인트에 대한 주석이 소스에서 제거되면 사용자 코드를 VisualAge for Java에서 사용할 수 없습니다. 이는 해당 주석이 있어야 사용자 코드를 겹쳐쓰는 것이 방지되기 때문입니다.

Visual Editor for Java는 Java Bean 및 특성 값과 관계에 대해 영구적 오브젝트 모델을 사용하는 대신 매 번 소스를 구문 분석합니다. 이와 같은 이유로 사용자 코드 포인트에 대한 주석과 메소드 재생성을 지정하는 주석은 더 이상 적용되지 않고 소스 코드를 자유롭게 수정할 수 있습니다. 수정을 통해 소스 코드 구조를 변경하여 Visual Editor for Java가 Java Bean의 구조를 더 이상 인식할 수 없으면 디자인 보기 또는 Java Bean 보기에서 해당 구조가 표시되지 않을 수도 있습니다. 그러나 소스는 편집기의 스타일에 맞도록 변경되지 않으며 변경 사항은 보존됩니다.

(C) Copyright IBM Corporation 1999, 2004. All Rights Reserved.