>Java >java지도 시간 >JavaFX 리소스 폴더에서 FXML 파일을 참조하는 방법은 무엇입니까?

JavaFX 리소스 폴더에서 FXML 파일을 참조하는 방법은 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-21 04:32:11918검색

How to Reference FXML Files in JavaFX Resource Folder?

JavaFX 리소스 폴더에서 FXML 파일 참조

JavaFX GUI 애플리케이션을 생성할 때 컨트롤러 내에서 FXML 파일을 참조해야 할 수 있습니다. 이를 효과적으로 수행하려면 다음 사항을 고려하는 것이 중요합니다.

일반 리소스 조회:

FXML 파일 참조는 Java의 일반 리소스 조회 프로세스의 일부입니다. 호출 프로그램이 리소스 위치를 FXMLLoader에 전달하므로 리소스 조회 자체는 FXMLLoader가 아닌 애플리케이션 코드 내에서 발생합니다.

예제 리소스 조회:

로드하려면 리소스 조회를 사용하는 FXML 파일의 경우 다음을 고려하십시오. 다음:

FXMLLoader loader = new FXMLLoader();
loader.setLocation(getClass().getResource("/main.fxml"));
Parent content = loader.load();

리소스 위치 확인:

리소스 위치 확인에는 세 가지 옵션이 있습니다.

  1. 모든 FXML 파일을 다음 위치에 배치합니다. 소스/메인/리소스 디렉토리:
loader.setLocation(getClass().getResource("/main.fxml"));
  1. 모든 FXML 파일을 src/main/resources/fxml 디렉토리에 배치:
loader.setLocation(getClass().getResource("/fxml/main.fxml"));
  1. FXML 파일 배치 해당 리소스에서 디렉토리:
loader.setLocation(getClass().getResource("main.fxml"));

마지막 접근 방식에서 로딩 클래스는 Java 소스 계층 구조에서 FXML 파일과 동일한 상대 위치에 위치해야 합니다.

FXMLLoader 사용 권장 사항:

  • 새로운 기능을 통해 FXMLLoader를 인스턴스화하세요. 정적 메서드 대신 FXMLLoader().
  • 인스턴스화된 FXMLLoader에 위치를 설정하고 스트림에서 로드하는 대신 load()를 사용합니다.
  • 위치를 파생하려면 getClass().getResource()를 사용하세요. URL 기반이므로 클래스 기반입니다.

IDE 및 빌드 설정:

컴파일 또는 IDE 사용 중에 FXML 파일이 리소스 디렉터리에서 빌드 출력 디렉터리로 복사되었는지 확인하세요.

Java Jigsaw 모듈형 애플리케이션:

모듈식 애플리케이션으로 작업할 때 리소스에 액세스해야 합니다. 경유:

ComboBoxStyling.class.getResource("/css/styleclass.css");

대신:

ComboBoxStyling.class.getClassLoader().getResource("/css/styleclass.css");

위 내용은 JavaFX 리소스 폴더에서 FXML 파일을 참조하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.