이 주제는 VisualAge for Java에서 Java 코드 이주에 대한 정보를 제공합니다.
Visual Editor for Java를 사용하여 Java Bean을 변경하면 변경사항을 반영하도록 소스 코드가 갱신됩니다. 소스 코드 변경사항은 특성 값을 변경하는 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에 포함되지 않는 상위 레벨 Java bean에만 적용되며 컨테이너 내 구성요소 위치에는 영향을 주지 않습니다. 컨테이너 내 구성요소의 위치는 컨테이너의 레이아웃 관리자 및 구성요소의 바운드 또는 제한조건이 결정합니다.
VisualAge for Java에서 맨 위 레벨 Java Bean의 위치(자유 양식 파트라고도 함)는 소스 코드에 나타나지 않습니다. VisualAge for Java의 비주얼 컴포지션 편집기(VCE)를 사용하여 작성된 파일을 이주하는 경우, 기본 위치가 사용됩니다. 위치 정보를 유지하려는 경우, VisualAge for Java에 로드되는 이주 유틸리티를 얻을 수 있습니다. 이주 유틸리티는 주석 형식으로 저장된 위치로 클래스를 재생성합니다. 유틸리티를 가져오려면 www.ibm.com/support/us/에서 최신 Conversion tool for VisualAge for Java Visual Composition Editor 응용프로그램을 다운로드하십시오.
이 이주 유틸리티는 VisualAge for Java의 FixManager(작업공간 > 도구 > FixManager)를 사용하여 설치할 수 있는 임시 수정사항으로 사용할 수 있습니다. 유틸리티는 VisualAge for Java의 VCE를 사용하여 개발한 클래스를 비주얼 편집기에 적합한 형식으로 이주하고 내보낼 수 있습니다. 이 패치를 설치한 후에는 프로젝트, 패키지 또는 클래스의 팝업 메뉴에서 VCE 코드 생성/내보내기...를 선택할 수 있습니다. 이 항목을 선택하면 이전에 VCE로 저장했던 클래스의 코드를 재생성할 수 있는 마법사가 실행됩니다. 자유 형식 위치는 비주얼 편집기가 사용하는 주석 형식으로 저장됩니다.
연결되어 있는 경우, 이 유틸리티를 실행하기 전에 먼저 각 이벤트에 내부 클래스 사용 VCE 코드 생성 옵션을 선택하여 이 코드를 재생성할 수 있습니다. 그러나 VisualAge for Java의 버그 때문에 일부 클래스는 이 스타일로 변환할 수 없습니다. 이 경우, 모든 이벤트에 하나의 내부 클래스 사용 VCE 코드 생성 옵션을 사용해야 합니다. 마법사에는 코드 생성을 완료한 후 디렉토리로 클래스를 내보낼 수 있는 옵션도 있습니다. Visual Editor for Java 이벤트 지원은 내부 클래스를 사용하지 않음 VCE 코드 재생성 스타일의 구문을 분석하지 않습니다.
VCE는 Java bean의 자체 모델과 그 특성 값 및 관계를 유지보수했으므로, 항상 이 모델에서 위-아래 방식으로 소스를 재생성했습니다. 사용자가 소스에 작성하는 수정사항은 //user code begin {1} 및 //user code end 주석으로 구분되는 소스에서 미리 정의된 사용자 코드 포인트로 제한되었습니다. 또한 코드 생성을 수행할 때마다 Java Bean에 대한 메소드가 재생성됨을 나타내기 위해 /* WARNING: THIS METHOD WILL BE REGENERATED. */ 행을 메소드 주석에 추가했습니다. 이주 유틸리티에는 VisualAge for Java의 소스 코드가 아닌 내보낸 코드에서 이러한 VCE 생성 주석을 제거하는 옵션이 있습니다. 이 주석은 더 이상 VCE 외부에 적용할 수 없기 때문입니다. 그러나 일단 사용자 코드 지점의 주석이 소스에서 제거되면 사용자 코드를 VisualAge for Java 내에서 사용할 수 없습니다. 그 이유는 이 주석이 있으면 사용자 코드가 겹쳐쓰기 되지 않기 때문입니다.
Visual Editor for Java는 Java Bean에 대한 지속적 오브젝트 모델과 그 특성 값 및 관계를 사용하지 않는 대신 매번 소스의 구문을 분석합니다. 이러한 이유로 사용자 코드 지점에 대한 주석과 메소드 재성성을 지정하는 주석은 더 이상 적용되지 않고 소스 코드를 마음대로 수정할 수 있습니다. Visual Editor for Java가 더 이상 Java Bean 구조를 인식할 수 없도록 소스 코드 구조를 변경하면 디자인 보기 또는 Java Bean 보기에 수정사항이 표시되지 않습니다. 그러나 편집기의 스타일에 맞게 소스가 다시 변경되지 않고 변경사항이 보존됩니다.
상위 주제: 비주얼 편집기로 Java 편집