Java 코드를 쓰는 스타일 또는 방법은 다양합니다. 비주얼 편집기에서는
여기서 생성된 Java 코드의 특정 스타일을 사용합니다.
Visual Editor for Java에서는 제대로 컴파일 및 실행될 수 있는 유효한 Java 코드를
생성합니다. 또한 비주얼 편집기에서 기존 Java 코드를 구문 분석할 때
규칙을 사용하여 디자인 보기에서 시각화하려는 코드 요소를 판별합니다.
구문 분석 가능한 코드에 관한 규칙
Visual Editor for Java는 코드가 다음 기준 중 하나라도
충족하는 경우 디자인 보기에서 코드를 시각화하려고 합니다.
그래픽 디자인 보기에서 구성요소를 시각화하기 전에 비주얼 편집기에서 확인하는
기타 요구사항이 있습니다.
- 필드가 get 메소드에서
인스턴트화되거나 Bean이 비주얼 편집기 환경 설정 페이지의 패턴
스타일 탭에 나열된 초기화 메소드로 초기화되어야 합니다. 다음
이미지와 같이 jbInit, initComponents 및
initialize 메소드가 초기화 메소드로 지정되었음에 유의하십시오.
- 행에 컴파일 오류가 없어야 합니다.
- 클래스는 올바르게 로드 및 인스턴트화되어야 합니다.
- 대부분의 배열 초기화 표현식을 평가할 수 없습니다.
- + 피연산자를 사용하는 산술 또는 문자열 연결 관련 표현식은 평가되지 않습니다
대부분의 표현식이 구문 분석되지만 모든 표현식이 올바르게 평가될 수는
없습니다. 이 경우 해당 보기의 Java Bean에 경고 신호가 표시되고
디자인 보기 또는 Java Bean 보기에서 해당 Bean을 선택하면 평가에
실패한 이유가 상태 표시줄에 표시됩니다.
캔버스에도 경고 아이콘이 표시됩니다.
비주얼 편집기에서 생성한 코드
- 비주얼 편집기에서는 initialize()
메소드를 호출하는 기본 생성자를 생성하여 클래스의 특성 값을 설정합니다.
- 애플릿의 경우 초기 특성 값을 설정하는 코드를 init()라고 합니다.
이 코드는 애플릿 브라우저 자체에서 실행되므로 생성자는 이 코드를 호출하지 않습니다.
- 선택사항: 비주얼 편집기에서 구성요소에
try{}catch() 블록을 생성하도록
지정할 수 있습니다. 그러면 초기화 도중 처리되는 모든 예외가
계속 발견되어 예외가 억제될 위험이 증가합니다.
따라서 그 대신에 예외를 통과시키는 것이
좋습니다. 비주얼 편집기 환경 설정()의
코드 생성 탭에서 이 옵션을 선택할 수 있습니다.
다음 코드는 try{}catch() 블록으로 초기화된
JPanel을 표시합니다.
private JPanel getJPanel1() {
if (jPanel1 == null) {
try {
jPanel1 = new JPanel();
}
catch (java.lang.Throwable e) {
// TODO: Something
}
}
return jPanel1;
}
다음 코드는 try{}catch() 블록 코드가 없는 JPanel을
표시합니다.private JPanel getJPanel() {
if (jPanel == null) {
jPanel = new JPanel();
}
return jPanel;
}
- 선택사항: 비주얼 편집기에서 생성할 각 표현식을
표시하는 주석을 추가하도록 지정할 수도 있습니다. 추가된 주석은
생성된 코드와 직접 쓴 코드를 구별하는 데 유용할 수 있습니다. 다음
코드 행은 표시되는 주석에 관한 예제입니다.
this.add(getJPanel(), null); // Generated
이 옵션을 켜려면 비주얼 편집기 환경 설정의 코드 생성 탭에서
새 표현식에 대한 주석 생성 선택란을
선택하십시오.
- Swing/AWT의 경우 비주얼 편집기가 단일 Java Bean을 인스턴트화하여
리턴하는 메소드(예: getPanel())를 생성하는
경우에도 이는 요구사항에 포함되지 않습니다. 한 메소드에서 둘 이상의
Java Bean을 인스턴트화할 수 있으며 메소드의 리턴 값은 해당 필드가
Java Bean인지를 인식하는 데 중요하지 않기 때문입니다. anOKButton
및 ivjTableModel 필드를 Java Bean으로
포함시키려면 해당 필드가 클래스의 get 메소드에서
인스턴스화되어야 합니다.
- SWT의 경우 비주얼 편집기가 구성이 확장된 모든 클래스에서
private void createFoo() 메소드를 생성하고
모든 하위 Bean이 동일한 메소드에서 초기화됩니다.
- 편집된 클래스가 Java Bean을 확장하는 경우 편집 중인 인스턴스는 'this' 파트를
호출한 특수 Java Bean으로 표시됩니다. 'this' 파트는 디자인 보기 또는
Java Bean 보기에서 삭제될 수 없고 해당 특성의 초기화 메소드는
initialize() 메소드에서 수행됩니다.
'this' 파트는 특성 보기에서 설정할 수 있는 특성이 있는
경우에만 디자인 보기 및 Java Bean 보기에 표시됩니다.
특성의 set 메소드는 initialize()
메소드에서 생성되거나 클래스가 java.awt.Applet을
확장하는 경우 init() 메소드가 사용됩니다.