Apakah mungkin untuk mengubah ikon aplikasi menggunakan JavaFX, atau apakah itu harus dilakukan menggunakan Swing?
172
Dengan asumsi stage Anda adalah "stage" dan file ada di sistem file:
stage.getIcons().add(new Image("file:icon.png"));
Seperti komentar di bawah ini, jika dibungkus dengan toples yang berisi, Anda harus menggunakan pendekatan berikut:
stage.getIcons().add(new Image(<yourclassname>.class.getResourceAsStream("icon.png")));
stage.getIcons().add( new Image( <yourclassname>.class.getResourceAsStream( "icon.png" )));
karya..dektop
file yang sesuai . Lihat uraian saya di siniSaya mencoba ini dan itu benar-benar berfungsi. Kode tersebut adalah:
icon.png berada di bawah folder yang sama dengan file sumber.
sumber
Program lengkap untuk pemula :) Program ini menetapkan ikon untuk StackOverflowIcon.
Output Screnshot
Tidak perlu mengubah kode. Itu masih berfungsi dengan baik. Diuji dan diverifikasi di Java 1.8 (1.8.0_45). Path dapat diatur ke lokal atau jauh keduanya didukung.
ATAU
Semoga ini bisa membantu. Terima kasih!!
sumber
Anda dapat menambahkannya di fxml. Tingkat panggung
sumber
Jika Anda memiliki folder gambar dan ikon disimpan dalam penggunaan ini
dan jika Anda langsung menggunakannya dari paket Anda yang bukan praktik yang baik gunakan ini
dan jika Anda memiliki struktur folder dan Anda memiliki ikon di dalamnya yang digunakan
sumber
Jika icon.png Anda berada di dir sumber daya dan ingatlah untuk meletakkan tanda '/' sebelum itu tidak akan berfungsi
sumber
Apa yang Anda pikirkan tentang membuat paket baru yaitu image.icons di direktori src Anda dan memindahkan gambar .png ke sana? Daripada Anda hanya perlu menulis:
Solusi ini berfungsi dengan baik untuk saya, tetapi saya masih tidak yakin apakah itu benar (pemula di sini).
sumber
resources
folder Anda .Anda dapat menambahkan lebih dari satu ikon dengan ukuran berbeda menggunakan metode ini. Gambar harus berukuran berbeda dari gambar yang sama dan ukuran terbaik akan dipilih.
eg. 16x16, 32,32
sumber
folder gambar harus di folder Sumber.
sumber
Anda dapat dengan mudah menaruh ikon ke aplikasi Anda menggunakan baris kode ini
stage.getIcons (). add (Gambar baru ("jalur gambar"));
sumber
Merupakan kebiasaan yang baik untuk membuat folder gambar di folder src Anda dan mengambil gambar darinya.
sumber
Saya menggunakan ini dalam aplikasi saya
Di sini jendela adalah panggung.
sumber
Jika Anda menjalankan file jar, kode yang ditentukan oleh Michael Berry akan mengubah ikon di bilah judul dan di bilah tugas. Ikon pintasan tidak dapat diubah.
Jika Anda menjalankan program asli yang dikompilasi dengan com.zenjava, Anda harus menambahkan tautan ke ikon program:
Ini akan menambahkan ikon ke pintasan dan bilah tugas.
sumber
Beralih ikon dalam runtime:
Selain tanggapan di sini, saya menemukan bahwa setelah Anda menetapkan Ikon untuk aplikasi Anda saat pertama kali Anda tidak dapat beralih dengan hanya menambahkan ikon baru ke panggung Anda (ini akan membantu jika Anda perlu beralih ikon ikon Anda aplikasi dari aktif / nonaktif diaktifkan / dinonaktifkan).
Untuk mengatur ikon baru saat run time gunakan getIcons (). Hapus (0) sebelum mencoba menambahkan ikon baru, di mana 0 adalah indeks dari ikon yang ingin Anda timpa seperti ditunjukkan di sini:
Untuk mengakses tahap dari metode atau kelas lain, Anda dapat membuat bidang statis baru untuk tahap di kelas utama Anda sehingga dapat mengaksesnya dari awal () metode dengan merangkum metode statis yang dapat Anda akses dari mana saja di aplikasi Anda .
sumber
Jika Anda
Invalid URL or resource not found
meletakkan icon.png di folder "bin" di ruang kerja Anda.sumber
Cara mudah lain untuk menyisipkan ikon Anda sendiri pada bilah judul di JavaFX adalah menambahkan gambar ke tahap utama Anda menggunakan metode berikut:
Pastikan impor javafx.scene.image.Image Anda (jika menggunakan ide seperti netbeans, ini harus dilakukan secara otomatis untuk Anda).
sumber
Saya mencoba ini dan berhasil:
sumber