fxml 예제

창의 크기가 조정되면 그리드 창 내의 노드의 크기는 레이아웃 제약 조건에 따라 크기가 조정됩니다. 이 예제에서는 창을 늘리거나 축소할 때 그리드가 가운데에 유지됩니다. 패딩 속성은 창을 작게 만들 때 그리드 주위에 패딩이 있는지 확인합니다. 이 예제에서는 세 개의 ResourceBundle 파일을 사용하고 있습니다: Labels.properties라는 기본 로캘에 대한 파일, Labels_de.properties라는 독일 로캘용 파일, Labels_en.properties라는 영어 로캘에 대해 하나: 예를 들어 FXML 문서를 포함하는 경우, 레이블을 생성하면 포함된 문서뿐만 아니라 포함된 문서의 텍스트 속성을 지정할 수 있습니다. 포함된 문서가 로드되면 포함된 문서의 텍스트 속성이 사용됩니다. 지금 응용 프로그램을 실행하여 전체 사용자 인터페이스를 볼 수 있습니다. 그림 4-3은 두 필드에 텍스트를 입력하고 로그인 단추를 클릭할 때 결과를 보여 주며, 이 에 대한 결과를 보여줍니다. 문제가 있는 경우 코드를 FXMLLogin 예제와 비교할 수 있습니다. 또는 외부 파일(예: fxml_example.js)에 JavaScript 함수를 넣고 다음과 같은 스크립트를 포함할 수 있습니다. 이 예제에서는 “%입력” 및 “%출력”을 Label의 텍스트 속성값으로 사용합니다. 속성 값은 % 기호로 시작합니다. FXMLLoader는 ResourceBundle에서 “입력” 및 “출력”의 값을 조회하고 텍스트 속성에 사용합니다. FXML 문서의 루트 요소는 개체 그래프의 최상위 개체입니다.

위의 예제의 최상위 개체는 VBox입니다. 따라서 FXML의 루트 요소는 FXML에서 만든 개체를 동일한 문서의 다른 위치에 참조할 수 있습니다. JavaFX 코드 내에서 FXML에서 만든 UI 개체의 참조를 얻는 것이 일반적입니다. FXML의 개체를 fx:id 특성으로 먼저 식별하여 이 작업을 수행할 수 있습니다. fx:id 특성의 값은 개체의 식별자입니다. 개체 형식에 id 속성이 있는 경우 속성에 대 한 값도 설정 됩니다. JavaFX의 각 노드에는 CSS에서 참조하는 데 사용할 수 있는 ID 속성이 있습니다. 다음은 레이블에 대한 fx:id 특성을 지정하는 예입니다. load 메서드는 여러 작업을 수행하며 이러한 작업이 발생하는 순서를 이해하는 것이 유용합니다.

이 간단한 예제에서 파일 fxml_example.fxml에서 XML 문서 입력 선언 후 자바스크립트 선언을 추가합니다.