このサイトの助けを数時間楽しんだ後、ここに統合する時が来ました!
さて、私は (Windows 7 の下で) Java を使用して個人的なプロジェクトを開始しており、SWT を使い始めています。何時間も検索した後、たどり着いた短い情報に満足できません。
このプロジェクトは、ユーザーがさまざまなモジュール (顧客管理、製品管理など) にアクセスできるメイン ウィンドウを持つアプリケーションです。
私が欲しいのは、適切に設定することです:
A) I18n 言語 B) ユーザー設定
「適切に」とは、プログラムのすべてのコンポーネントからそのデータに適切かつ簡単にアクセスして使用することを意味し、最も「標準化された」方法でも行うことを念頭に置いています。
MessageBundle_xx_XX.properties を含む "LangugueResources" というパッケージを既に作成し、MainMenu クラスで次の属性を定義しました。
protected String languague="en";
protected String country="UK";
protected Locale currentLocale=new Locale(languague, country);
protected ResourceBundle
messages=ResourceBundle.getBundle("MessageBundle",currentLocale);
これにより、私のメイン メニューはさまざまな言語で正常に動作します。しかし、新しいウィンドウを開くとどうなりますか? これをもう一度宣言するか (コードの繰り返しが多すぎる)、または新しいウィンドウ インスタンスを呼び出すときにデータを渡すことができるか (これはスタイリッシュに見えません)。他の可能な設定と同じです。
これはまた、プログラム構造をどのように構築しなければならないのか疑問に思います。つまり、SWT アプリケーション ウィンドウ (メイン メニュー) から開始し、そこから別のモジュール (顧客、製品) になる他の SWT アプリケーション ウィンドウを呼び出すのが正しいということです。 ? MainMenu クラスを呼び出す独立した Main クラスを確立し、言語リソースと設定リソースを定義する必要があるのでしょうか。
また、言語 (.properties ファイル) のようにユーザー設定を保存する必要があるかどうかも知りたいです。
さまざまな方法で実行できると思いますが、推奨され、標準化され、最も簡単な方法を知りたいです。
うまく説明できたと思います。よろしくお願いします!