Rumah > Java > javaTutorial > Mengapa saya mendapat IllegalAccessError apabila mencipta Label dalam JavaFX 11?

Mengapa saya mendapat IllegalAccessError apabila mencipta Label dalam JavaFX 11?

Linda Hamilton
Lepaskan: 2024-11-02 22:12:02
asal
1053 orang telah melayarinya

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

JavaFX 11: IllegalAccessError semasa mencipta Label

JavaFX 11 memperkenalkan perubahan ketara pada rangka kerja, memisahkannya daripada JDK. Perubahan ini telah membawa kepada isu biasa di mana pengguna menghadapi IllegalAccessError semasa membuat Label atau kawalan lain.

Punca Isu

Ralat disebabkan oleh konflik antara modul JavaFX dan laluan modul projek. JavaFX 11 menggunakan sistem modular, di mana perpustakaan dibungkus sebagai modul yang boleh ditambah pada projek anda mengikut keperluan. Walau bagaimanapun, secara lalai, IntelliJ IDEA tidak mengkonfigurasi laluan modul untuk JavaFX dengan betul.

Penyelesaian

Untuk menyelesaikan isu ini, anda perlu menambah modul JavaFX secara manual ke laluan modul projek anda dan tentukan modul yang anda mahu gunakan.

  1. Tambah JavaFX SDK sebagai Perpustakaan:

    • Dalam IntelliJ IDEA , klik kanan pada projek anda dalam Project Explorer dan pilih "Tambah Sokongan Rangka Kerja."
    • Pilih "JavaFX" daripada senarai dan pilih versi yang sesuai (11.0.2 dalam kes ini).
  2. Konfigurasikan Pilihan VM:

    • Pergi ke Jalankan > Edit Konfigurasi.
    • Dalam medan VM Options, tambahkan yang berikut:

  3. Nyatakan Kebergantungan Modul:

    • Dalam fail pom.xml, tambahkan kebergantungan berikut:

      • <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>11</version>
        Salin selepas log masuk

Nota Tambahan

  • Ganti "/path/to/javafx-sdk/lib" dengan laluan sebenar ke direktori perpustakaan JavaFX SDK.
  • Jika anda perlu menggunakan modul JavaFX tambahan, nyatakannya dalam argumen --add-modules (cth., --add-modules javafx.fxml).
  • Anda boleh mengesahkan bahawa modul yang betul sedang digunakan dengan menambahkan bendera --list-modules pada VM Options.

Dengan mengikut langkah ini, anda sepatutnya dapat menyelesaikan IllegalAccessError apabila mencipta Label atau kawalan lain dalam JavaFX 11.

Atas ialah kandungan terperinci Mengapa saya mendapat IllegalAccessError apabila mencipta Label dalam JavaFX 11?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan