Rumah > Java > javaTutorial > teks badan

Cara menggunakan JavaFX untuk melaksanakan antara muka grafik yang disokong berbilang bahasa dalam Java 9

WBOY
Lepaskan: 2023-07-29 13:02:01
asal
901 orang telah melayarinya

Cara menggunakan JavaFX dalam Java 9 untuk melaksanakan antara muka grafik dengan sokongan berbilang bahasa

Pengenalan:
Dengan perkembangan globalisasi, sokongan berbilang bahasa telah menjadi keperluan penting untuk pembangunan perisian. Mengantarabangsakan teks dalam bahasa yang berbeza adalah langkah yang perlu apabila membangunkan antara muka grafik. Dalam Java 9, kita boleh menggunakan JavaFX untuk melaksanakan antara muka grafik dengan sokongan berbilang bahasa. Artikel ini akan memperkenalkan cara menggunakan mekanisme Resource Bundle yang disediakan oleh JavaFX untuk mencapai sokongan berbilang bahasa, dan memberikan kod sampel yang sepadan.

1. Sediakan fail sumber
Dalam projek, kami perlu menyediakan fail sumber untuk setiap bahasa dan mencapai sokongan berbilang bahasa dengan memuatkan fail sumber yang berbeza.

1. Cipta folder sumber
Dalam direktori src/main/java projek, buat folder bernama sumber. Folder ini akan digunakan untuk menyimpan fail sumber dalam bahasa yang berbeza.

2. Cipta fail sumber
Di bawah folder sumber, buat fail sumber untuk setiap bahasa. Peraturan penamaan fail sumber ialah baseName_language.properties, dengan baseName ialah nama asas bagi fail sumber dan bahasa ialah pengecam bahasa. Sebagai contoh, kita boleh mencipta fail sumber bernama bundle_zh_CN.properties untuk menyimpan teks Cina ringkas.

3. Isi kandungan sumber
Buka fail sumber dan isikan teks yang perlu diantarabangsakan mengikut pasangan nilai-kunci. Sebagai contoh, kita boleh menambah kandungan berikut pada fail bundle_zh_CN.properties:

greeting=你好!
Salin selepas log masuk
Salin selepas log masuk

2. Muatkan fail sumber
Dalam JavaFX, gunakan kelas ResourceBundle untuk memuatkan fail sumber. Kita perlu memilih fail sumber yang sepadan mengikut bahasa pengguna dalam program untuk dimuatkan.

1 Dapatkan Locale lalai
Locale ialah kelas yang menerangkan bahasa, negara dan maklumat lain. Kita boleh menggunakan kaedah java.util.Locale.getDefault() untuk mendapatkan Locale lalai pengguna semasa.

2. Muatkan fail sumber berdasarkan Locale
Gunakan kaedah ResourceBundle.getBundle() untuk memuatkan fail sumber yang sepadan Parameter masuk ialah nama asas dan Tempatan fail sumber. Sebagai contoh, kita boleh memuatkan fail bundle_zh_CN.properties melalui kod berikut:

ResourceBundle bundle = ResourceBundle.getBundle("bundle", Locale.CHINA);
Salin selepas log masuk

3. Dapatkan kandungan teks
Selepas kami memuatkan fail sumber, kami boleh mendapatkan kandungan teks yang sepadan berdasarkan kunci dalam fail sumber.

1. Dapatkan kandungan teks dalam JavaFX
Dalam JavaFX, kami boleh mencapai pengantarabangsaan teks dengan menganotasi @FxText. Kita perlu menggunakan anotasi ini dalam fail FXML dan menetapkan kunci yang sepadan. Sebagai contoh, kita boleh menulis ini dalam fail FXML:

<Text fx:id="greeting" text="%greeting" />
Salin selepas log masuk

2. Tetapkan kandungan teks
Dalam kelas pengawal JavaFX, kita boleh mendapatkan kandungan teks dengan memanggil kaedah getString() ResourceBundle dan gunakannya pada yang sepadan pada kawalan itu. Sebagai contoh, kita boleh menulis ini dalam kaedah permulaan kelas pengawal:

@FXML
private Text greeting;
bundle = ResourceBundle.getBundle("bundle", Locale.getDefault());
String greetingText = bundle.getString("greeting");
greeting.setText(greetingText);
Salin selepas log masuk

4. Tukar bahasa
Untuk mencapai sokongan berbilang bahasa, kami perlu menyediakan pengguna dengan keupayaan untuk menukar bahasa. Kami boleh melaksanakan penukaran bahasa melalui peristiwa pencetus yang disediakan oleh JavaFX.

1. Bind event
Dalam kelas pengawal JavaFX, kita boleh mengikat peristiwa pencetus pada butang atau item menu yang menukar bahasa. Sebagai contoh, kita boleh mengikat acara klik pada butang bernama changeLanguageButton:

<Button fx:id="changeLanguageButton" onAction="#changeLanguageButtonClicked" />
Salin selepas log masuk

2. Mengendalikan peristiwa
Dalam kelas pengawal, laksanakan kaedah untuk mengendalikan acara klik. Dalam kaedah ini, kita perlu menukar Tempat semasa, memuatkan semula fail sumber dan mengemas kini antara muka. Sebagai contoh, kami boleh melaksanakan kaedah changeLanguageButtonClicked() seperti ini:

@FXML
private void changeLanguageButtonClicked() {
    if (Locale.getDefault().equals(Locale.CHINA)) {
        Locale.setDefault(Locale.US);
    } else {
        Locale.setDefault(Locale.CHINA);
    }
    bundle = ResourceBundle.getBundle("bundle", Locale.getDefault());
    String greetingText = bundle.getString("greeting");
    greeting.setText(greetingText);
}
Salin selepas log masuk

Kesimpulan:
Dengan menggunakan mekanisme ikatan sumber yang disediakan oleh JavaFX, kami boleh melaksanakan antara muka grafik dengan sokongan berbilang bahasa dengan mudah. Melalui pengenalan artikel ini, saya percaya bahawa semua orang boleh menguasai kaedah menggunakan JavaFX untuk mencapai sokongan berbilang bahasa dalam Java 9. Saya harap artikel ini dapat membantu kajian semua orang.

Kod rujukan:
Kandungan dalam fail sumber dalam bahasa yang berbeza:
bundle_zh_CN.properties

greeting=你好!
Salin selepas log masuk
Salin selepas log masuk

bundle.properties

greeting=Hello!
Salin selepas log masuk

@FxText anotasi digunakan dalam fail FXML:

clickrreeee events dalam kawalan

rreeeees

Atas ialah kandungan terperinci Cara menggunakan JavaFX untuk melaksanakan antara muka grafik yang disokong berbilang bahasa dalam Java 9. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!