>  기사  >  Java  >  JavaFX 11에서 레이블을 생성할 때 IllegalAccessError가 발생하는 이유는 무엇입니까?

JavaFX 11에서 레이블을 생성할 때 IllegalAccessError가 발생하는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-02 22:12:02941검색

Why am I getting an IllegalAccessError when creating a Label in JavaFX 11?

JavaFX 11: 라벨 생성 시 IllegalAccessError

JavaFX 11에서는 프레임워크에 중요한 변경 사항을 도입하여 JDK와 분리했습니다. 이 변경으로 인해 사용자가 라벨이나 기타 컨트롤을 생성할 때 IllegalAccessError가 발생하는 일반적인 문제가 발생했습니다.

문제 원인

이 오류는 충돌로 인해 발생합니다. JavaFX 모듈과 프로젝트의 모듈 경로 사이. JavaFX 11은 라이브러리가 필요에 따라 프로젝트에 추가할 수 있는 모듈로 패키지되는 모듈식 시스템을 사용합니다. 그러나 기본적으로 IntelliJ IDEA는 JavaFX에 대한 모듈 경로를 올바르게 구성하지 않습니다.

해결책

이 문제를 해결하려면 JavaFX 모듈을 수동으로 추가해야 합니다. 프로젝트의 모듈 경로를 지정하고 사용하려는 모듈을 지정하세요.

  1. JavaFX SDK를 라이브러리로 추가:

    • IntelliJ IDEA , 프로젝트 탐색기에서 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 "프레임워크 지원 추가"를 선택합니다.
    • 목록에서 "JavaFX"를 선택하고 적절한 버전(이 경우 11.0.2)을 선택합니다.
  2. VM 옵션 구성:

    • 실행으로 이동 > 구성 편집.
    • VM 옵션 필드에 다음을 추가합니다.

  3. 모듈 종속성 지정:

    • pom.xml 파일에 다음 종속성을 추가합니다.

      • <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>11</version>

추가 참고사항

  • "/path/to/javafx-sdk/lib"을 다음으로 바꾸세요. JavaFX SDK 라이브러리 디렉토리의 실제 경로.
  • 추가 JavaFX 모듈을 사용해야 하는 경우 --add-modules 인수에 이를 지정합니다(예: --add-modules javafx.fxml).
  • VM 옵션에 --list-modules 플래그를 추가하면 올바른 모듈이 사용되고 있는지 확인할 수 있습니다.

다음 단계에 따라 IllegalAccessError를 해결할 수 있습니다. JavaFX 11에서 라벨이나 기타 컨트롤을 생성할 때.

위 내용은 JavaFX 11에서 레이블을 생성할 때 IllegalAccessError가 발생하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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