|
이 토픽은 GUI 디자이너의 폼 작업을 하기 위해 코드를 쓰는 기초를 설명합니다. 당신이 할 필요가 있는 3개가 본질적으로 있습니다:
폼 클래스를 위해 생성자를 생성합니다
필드 구성요소를 위하여 기능 그룹과 액션을 생성합니다
선택적으로 필드와 폼을 데이터에 바인드 하는 게터/세터 메소드를 생성합니다
런타임 초기화 코드를 생성합니다
문서화는 당신이 벌써 자바의 UI 프로그램 작성에 관한 무엇인가 알고 있고, 당신이 기능을 당신이 GUI 디자이너와 함께 형성하는 폼에 추가하기 위해 필요로 하는 기초를 포함시킬 것이라고 가정합니다. 나타나는 예는 폼을 형성하는 프로세스하는 동안 생성된 클래스를 위해 있습니다. 그러나 원리는 사용자 인터페이스 기능을 제공하는 어떤 클래스라도 적용 가능합니다.
|

|
form class 용어는 GUI 디자이너 폼이 bound 된 클래스를 참조합니다.
|
당신이 GUI 디자이너 폼 빌딩을 마칠 때, 최저치에서 당신은 아래 예에 제시된 것처럼 클래스의 폼과 구성 형태 필드에서 클래스를 여러 가지 폼 구성 요소에 바인드해야만 합니다:
만일 폼 클래스가 하나를 이미 가지지 않으면, 그것은 예를 들어 설명되도록 하기 위해 생성자를 필요합니다. 만일 IDEA가 이것을 하는 것을 돕기 원하면, Alt +
Insert를 누르고 Constructor를 선택합니다. 만일 생성자에서 초기화될 것인 클래스에서 당신이 어떤 필드를 가지면, 다이얼로그에서 그들을 선택하십시오. (생성자를 생성하는 것에 관한 더 많은 정보를 위해, 코드 생성 을 봅니다).
|

|
폼 파일과 폼 클래스 파일이 같은 파일 이름을 갖는 것은 필요하지 않습니다 – 만일 그들이 그렇지 않으면 당신은 에러를 얻지 않게 될 것입니다. 그러나 그들에게 같은 파일 이름을 주는 것은 좋은 규약을 따르는 것입니다.
|
Groups
만일 당신이 그룹으로서 기능할 필요가 있는 옵션(라디오)버튼과 같은 구성 요소를 가지면, 생성자는 그룹을 생성해야만 합니다. 아래 예는 코드를 우리의 예제 폼 위에서 두 개의 옵션 버튼을 위해 버튼 그룹을 생성하기 위해 표시합니다:
Actions
버튼을 예를 들면 액션을 수행하는 구성 요소를 위해 당신은 action listeners 와 action events 를 쓸 필요가 있습니다. 당신은 생성자에서 또는 당신이 생성자를 부르는 별도 메소드로 이것을 할 수 있습니다. 단순한 가입 다이얼로그의 우리 예는 생성자에서 제출 버튼을 위한 동작 수신자와 동작 이벤트를 생성합니다:
|
데이터에 필드 바운드를 위한 게터/세터 메소드를 생성
|
만일 당신이 원하는 UI 클래스에서 당신이 필드를 JavaBean 클래스에서 일부 데이터에 바인드하게 하면, IDEA는 당신이 이것을 빨리 그리고 정확하게 하는 것을 돕는 특별한Data
Binding Wizard 를 제공합니다. GUI 디자이너의 특징, 당신은 UI 클래스를 바운드 하는GUI 폼의 구성 요소에서 바인드된 UI 클래스에서 필드에 대한 getData와 setData 메소드를 생성하기 위해 이 마법사를 이용할 수 있습니다. 당신은 기존 bean 클래스에서 데이터 바인딩을 생성할 수 있거나, 마법사를 이용하여 새로운 bean 클래스를 생성할 수 있습니다.
예를 들면, UI 클래스에서 필드에 바인드된 GUI 폼 위에서 당신이 일부
JTextField 구성 요소를 가진다 라고 가정하십시오. 그러면 당신은 JavaBean 클래스에서 일부 데이터에 바인드된 그들의 텍스트 속성의 값을 원합니다. 물론 당신은 필드에 대한 getData와 setData 메소드를 생성하면서, 정확한 bean 클래스의 완전 수식된 이름을 지정하도록 주의하고, 필요 패키지를 임포트하면서 들어갈 수 있고, UI 클래스를 편집할 수 있었습니다. 그러나, 마법사를 바인드하고 있는 데이터는 바인드된 UI 클래스에 있어서의 메소드를 바인드하고 있는 데이터를 생성하는 빠른 시각적 방법을 제공합니다, 또한 당신이 새로운 bean 클래스를 필요하다면 생성하는 것을 가능하게 합니다.
|

|
위에서 암시한 것 처럼, GUI 폼은 클래스에 바인드될 것임에 틀림없습니다. 그리고 GUI 구성 요소는 Data Binding Wizard를 실행하기 전에 클래스에서 어떤 필드에 바인드일 것임에 틀림없습니다.
|
Using the Data Binding
Wizard:
당신이 게터/세터 메소드를 생성하고 싶어하는 구성 요소를 확인할 때, 다음을 하십시오:
1.
GUI 디자이너의 폼에서 시각 구성 요소를 선택하십시오.
2.
GUI 디자이너 툴바 위에서, 데이터 바인딩 마법사 를 개시하기 위해 아이콘을 클릭하십시오:
3.
첫 번째 화면 위에서, 새로운 Bean 또는 기존의 Bean의 데이터를 바인드 할 것인지 선택하고, 당신이 선택한 옵션에 대한 클래스를 지정하십시오.
4.
다음 화면은 데이터 바인딩에 적합하고 폼의 UI 클래스에서 필드에 바인드되었던 폼 구성 요소를 리스트합니다. 오른쪽에서 각 구성 요소 이름은 당신이 구성 요소를 위해 데이터 소스/타겟으로서 원하는 bean 속성을 지정할 수 있는 편집 필드입니다.
5.
데이터 바인딩 조작을 완료하기 위해서 Finish를 누릅니다.
당신이 마법사를 끝낼 때, 당신이 마법사에게서 지정했던 옵션에 따라 정의 getData와 setData 메소드는 폼의 클래스에 써집니다. 임포트 스테이트먼트는 클래스에서 필요한 만큼 생성됩니다. 만일 당신이 코드를 보고, 당신이 실수했다는 것을 발견하면, 당신은 그 이전의 상태로 코드를 돌리기 위해 Undo를 사용할 수 있습니다.
일단 구성 요소가 데이터에 바인드 되었다면, 당신은 마법사를 다시 데이터 바인딩 마법사를 호출할 수 있습니다. 그 경우에는, 당신은
데이터 바인딩을 제거하거나 다른 bean에 바인드하는 옵션을 부여받습니다. 만일 당신이 후자의 옵션을 선택하면, 마법사는 당신이 데이터 바인딩을 위해 선택하거나, bean 클래스를 생성하는 것을 가능하게 합니다. UI
클래스(임포트를 포함하는 것)의 원시 코드는 당신의 선택과 사양에 따라 변경됩니다.
당신의 코드에서 당신은 폼 클래스를 실증하는 코드를 갖는 것을 필요로 합니다. 폼의 클래스가 또한 메인 클래스가 있는 우리 예제에서, 우리는 폼을 위해 런타임 프레임을 생성했습니다. 그것을 하는 같은 메소드는 프레임의 폐기 처분을 처리합니다. 우리의 작은 가입 폼의 예는 자립형 프로그램으로서 실행하고, 그래서 폼 클래스는 런타임 프레임의 생성과 폐기를 처리하는main() 메소드를 갖습니다:

일부 애플리케이션의 부분인 대화 상자를 위해, 이 GUI 폼 런타임 코드가 애플리케이션의 메인 클래스에 물론 있지 않을 것입니다. 클래스가 폼을 사용할 필요가 무엇이던지 간에 당신은 그것에 부를 것 입니다.
|