ホームページ Java &#&チュートリアル JavaFX を使用して Java 9 で複数言語をサポートするグラフィカル インターフェイスを実装する方法

JavaFX を使用して Java 9 で複数言語をサポートするグラフィカル インターフェイスを実装する方法

Jul 29, 2023 pm 01:02 PM
グラフィックインターフェイス 多言語サポート javafx

Java 9 で JavaFX を使用して、多言語サポートのあるグラフィカル インターフェイスを実装する方法

はじめに:
グローバリゼーションの進展に伴い、多言語サポートがソフトウェア開発の重要な要件になりました。さまざまな言語のテキストを国際化することは、グラフィカル インターフェイスを開発するときに必要な手順です。 Java 9 では、JavaFX を使用して、複数言語をサポートするグラフィカル インターフェイスを実装できます。この記事では、JavaFX が提供する Resource Bundle メカニズムを使用して多言語サポートを実現する方法と、対応するサンプル コードを紹介します。

1. リソース ファイルの準備
プロジェクトでは、言語ごとにリソース ファイルを準備し、異なるリソース ファイルを読み込むことで多言語サポートを実現する必要があります。

1. リソース フォルダーの作成
プロジェクトの src/main/java ディレクトリに、resources という名前のフォルダーを作成します。このフォルダーは、さまざまな言語のリソース ファイルを保存するために使用されます。

2. リソース ファイルの作成
リソース フォルダー内に、言語ごとにリソース ファイルを作成します。リソース ファイルの命名規則は、baseName_ language.properties です。ここで、baseName はリソース ファイルの基本名、 language は言語の識別子です。たとえば、簡体字中国語テキストを保存するために、bundle_zh_CN.properties という名前のリソース ファイルを作成できます。

3. リソースの内容を入力します
リソース ファイルを開き、キーと値のペアに従って国際化する必要があるテキストを入力します。たとえば、次の内容を Bundle_zh_CN.properties ファイルに追加できます。

greeting=你好!
ログイン後にコピー
ログイン後にコピー

2. リソース ファイルのロード
JavaFX では、ResourceBundle クラスを使用してリソース ファイルをロードします。ロードするプログラム内のユーザーの言語に応じて、対応するリソース ファイルを選択する必要があります。

1. デフォルトの Locale を取得する
Locale は、言語、国、その他の情報を記述するクラスです。 java.util.Locale.getDefault() メソッドを使用して、現在のユーザーのデフォルトのロケールを取得できます。

2. ロケールに従ってリソース ファイルをロードする
ResourceBundle.getBundle() メソッドを使用して、対応するリソース ファイルをロードします。受信パラメータは、リソース ファイルの基本名とロケールです。たとえば、次のコードを通じて、bundle_zh_CN.properties ファイルをロードできます:

ResourceBundle bundle = ResourceBundle.getBundle("bundle", Locale.CHINA);
ログイン後にコピー

3. テキスト コンテンツの取得
リソース ファイルをロードした後、ファイル内のキーに基づいて対応するテキストを取得できます。リソースファイルの内容。

1. JavaFX でテキスト コンテンツを取得する
JavaFX では、@FxText アノテーションを付けることでテキストの国際化を実現できます。 FXML ファイルでこのアノテーションを使用し、対応するキーを設定する必要があります。たとえば、FXML ファイルに次のように記述できます:

<Text fx:id="greeting" text="%greeting" />
ログイン後にコピー
ログイン後にコピー

2. テキスト コンテンツの設定
JavaFX コントローラー クラスでは、ResourceBundle の getString() メソッドを呼び出してテキスト コンテンツを取得できます。対応するコントロールに適用します。たとえば、コントローラー クラスの初期化メソッドで次のように記述できます。

@FXML
private Text greeting;
bundle = ResourceBundle.getBundle("bundle", Locale.getDefault());
String greetingText = bundle.getString("greeting");
greeting.setText(greetingText);
ログイン後にコピー

4. 言語の切り替え
多言語サポートを実現するには、ユーザーに次の機能を提供する必要があります。言語を切り替えます。 JavaFX が提供するトリガー イベントを通じて言語切り替えを実装できます。

1. イベントのバインド
JavaFX コントローラー クラスでは、言語を切り替えるボタンまたはメニュー項目にトリガー イベントをバインドできます。たとえば、changeLanguageButton という名前のボタンにクリック イベントをバインドできます:

<Button fx:id="changeLanguageButton" onAction="#changeLanguageButtonClicked" />
ログイン後にコピー

2. イベントの処理
コントローラー クラスで、クリック イベントを処理するメソッドを実装します。この方法では、現在のロケールを変更し、リソース ファイルを再ロードし、インターフェイスを更新する必要があります。たとえば、changeLanguageButtonClicked() メソッドは次のように実装できます。

@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);
}
ログイン後にコピー
ログイン後にコピー

結論:
JavaFX が提供するリソース バンドル メカニズムを使用することで、複数言語をサポートするグラフィカル インターフェイスを簡単に実装できます。この記事の導入により、誰もが JavaFX を使用して Java 9 で多言語サポートを実現する方法をマスターできると思います。この記事が皆さんの勉強に役立つことを願っています。

参照コード:
さまざまな言語のリソース ファイルの内容:
bundle_zh_CN.properties

greeting=你好!
ログイン後にコピー
ログイン後にコピー

bundle.properties

greeting=Hello!
ログイン後にコピー

@FXML ファイルで使用される FxText :

<Text fx:id="greeting" text="%greeting" />
ログイン後にコピー
ログイン後にコピー

コントローラー クラスでクリック イベントを処理するメソッド:

@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);
}
ログイン後にコピー
ログイン後にコピー

以上がJavaFX を使用して Java 9 で複数言語をサポートするグラフィカル インターフェイスを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JavaFX が提供するさまざまな 2D 形状とは何ですか? JavaFX が提供するさまざまな 2D 形状とは何ですか? Sep 03, 2023 pm 09:41 PM

JavaFX を使用して描画できるさまざまな幾何学的形状を以下に示します。 線 - 線は 2 点を結ぶ幾何学的構造です。 javafx.scene.shape. Line クラスは、XY 平面内の線を表します。長方形 - 長方形は、2 組の平行かつ同時の辺を持つ 4 辺の多角形であり、すべての内角は直角です。 javafx.scene. Rectangle クラスは、XY 平面内の長方形を表します。円 - 円は閉じたループを形成する線であり、その上の各点は中心点から一定の距離にあります。 javafx.scene. Circle クラスは、XY 平面内の円を表します。楕円 - 楕円は 2 つの点で定義され、各点は焦点と呼ばれます。楕円上の任意の点を取った場合、焦点までの距離の合計

Java 13 の新しい JavaFX WebView コンポーネントを使用して Web コンテンツを表示する Java 13 の新しい JavaFX WebView コンポーネントを使用して Web コンテンツを表示する Aug 01, 2023 pm 01:09 PM

Java13 の新しい JavaFXWebView コンポーネントを使用して Web コンテンツを表示する Java の継続的な開発により、JavaFX はクロスプラットフォームのグラフィカル インターフェイスを構築するための主要ツールの 1 つになりました。 JavaFX は豊富なグラフィックス ライブラリとコンポーネントを提供し、開発者がさまざまなユーザー インターフェイスを簡単に作成できるようにします。その中でも、JavaFXWebView コンポーネントは、JavaFX アプリケーションで Web コンテンツを表示できるようにする非常に便利なコンポーネントです。 Java13では、J

Laravel を使用して多言語サポートを実装する方法 Laravel を使用して多言語サポートを実装する方法 Nov 04, 2023 am 11:07 AM

Laravel は、Web アプリケーション開発をより簡単かつ効率的にする多数の機能とライブラリを提供する非常に人気のある PHP フレームワークです。重要な機能の 1 つは多言語サポートであり、Laravel は独自の言語パッケージ メカニズムとサードパーティ ライブラリを通じて多言語サポートを実現します。この記事では、Laravel を使用して多言語サポートを実装する方法を紹介し、具体的なコード例を示します。 Laravelの言語パック機能を利用する Laravelには多言語対応を簡単に実現できる言語パックの仕組みが備わっています。

Linux で Qt を使用してグラフィカル インターフェイス アプリケーションを開発するための基本構成ガイド Linux で Qt を使用してグラフィカル インターフェイス アプリケーションを開発するための基本構成ガイド Jul 05, 2023 pm 12:01 PM

Linux で Qt を使用してグラフィカル インターフェイス アプリケーションを開発するための基本構成ガイド 1. はじめに Qt はクロスプラットフォーム C++ ライブラリのセットであり、クロスプラットフォーム グラフィカル インターフェイスの開発に適した豊富なグラフィカル インターフェイス開発コンポーネントとその他の多くの機能モジュールを提供します。インターフェイス。アプリ。この記事では、Linux システムで Qt を開発する方法を紹介し、いくつかの基本的な構成ガイドラインとコード例を示します。 2. Qt 開発環境をインストールし、Qt をダウンロードします。Qt 公式 Web サイト (http://www.qt.io/) から適切な Qt をダウンロードします。

Webman フレームワークを使用して国際化と多言語サポートを実現するにはどうすればよいですか? Webman フレームワークを使用して国際化と多言語サポートを実現するにはどうすればよいですか? Jul 09, 2023 pm 03:51 PM

現在、インターネット技術の継続的な発展に伴い、多言語化と国際化をサポートする必要がある Web サイトやアプリケーションがますます増えています。 Web 開発では、フレームワークを使用すると、開発プロセスを大幅に簡素化できます。この記事では、Webman フレームワークを使用して国際化と多言語サポートを実現する方法を紹介し、いくつかのコード例を示します。 1. Webman フレームワークとは何ですか? Webman は、Web アプリケーション開発のための豊富な機能と使いやすいツールを提供する軽量の PHP ベースのフレームワークです。その 1 つは国際化と多元化です。

Java 9 で JavaFX と WebSocket を使用してリアルタイム通信用のグラフィカル インターフェイスを実装する方法 Java 9 で JavaFX と WebSocket を使用してリアルタイム通信用のグラフィカル インターフェイスを実装する方法 Jul 30, 2023 pm 04:57 PM

JavaFX と WebSocket を使用して Java9 でリアルタイム通信用のグラフィカル インターフェイスを実装する方法 はじめに: インターネットの発展に伴い、リアルタイム通信の必要性がますます一般的になってきています。 Java9 では、JavaFX と WebSocket テクノロジを使用して、グラフィカル インターフェイスを備えたリアルタイム通信アプリケーションを実装できます。この記事では、JavaFX と WebSocket テクノロジを使用して Java9 でリアルタイム通信用のグラフィカル インターフェイスを実装する方法を紹介し、対応するコード例を添付します。パート 1: ジャ

ThinkPHP6 の多言語サポート: 多言語アプリケーションの実現 ThinkPHP6 の多言語サポート: 多言語アプリケーションの実現 Aug 13, 2023 pm 11:12 PM

ThinkPHP6 の多言語サポート: 多言語アプリケーションの実現 はじめに: グローバリゼーションの発展に伴い、多言語機能をサポートする必要のあるアプリケーションがますます増えています。 Web 開発では、ユーザーの言語環境に応じてインターフェイス テキスト、プロンプト情報、その他のコンテンツを変換する必要があることがよくあります。 ThinkPHP6 フレームワークは強力な多言語サポートを提供し、多言語アプリケーションを簡単に実装できるようにします。この記事では、ThinkPHP6 で多言語機能を構成および使用する方法を紹介し、コード例を示します。 1. 複数の構成

JavaFX を使用して Java 9 で応答性の高い UI インターフェイスを構築する方法 JavaFX を使用して Java 9 で応答性の高い UI インターフェイスを構築する方法 Jul 30, 2023 pm 06:36 PM

JavaFX を使用して Java9 で応答性の高い UI インターフェイスを構築する方法 はじめに: コンピューター アプリケーションの開発プロセスにおいて、ユーザー インターフェイス (UI) は非常に重要な部分です。優れた UI はユーザー エクスペリエンスを向上させ、アプリケーションをより魅力的なものにします。 JavaFX は、Java プラットフォーム上のグラフィカル ユーザー インターフェイス (GUI) フレームワークであり、対話型 UI インターフェイスを迅速に構築するための豊富なツールと API のセットを提供します。 Java 9 では、JavaFX は JavaSE になりました。

See all articles