16

WindowBuilder デザイン ウィンドウを使用して作成しているウィンドウに、*.ico ファイルから外部アイコンを追加しようとしています。シェルを選択すると、「イメージ」プロパティ フィールドが表示されます。 代替テキスト これにより、画像選択ダイアログ ボックスが表示されます。 代替テキスト

アイコンをクラスパス リソースとしてこのメ​​ニューに表示するにはどうすればよいですか? 絶対パスが指定されている場合、画像は機能しますが、アプリケーションでそのオプションを使用したくありません。

ありがとう!

4

6 に答える 6

29

クラスパスにアイコンを簡単に追加するために、目的のアイコンを見つけて右クリックし、「コピー」を選択してから、Eclipse でプロジェクトのパッケージの 1 つに移動し、右クリックして「貼り付け」を選択しました。次にイメージ チューザー ダイアログ ボックスを表示したとき、ローカル パッケージには利用可能なクラスパス リソースとしてリストされたアイコンがあり、それを選択しました。 画像選択

プロジェクトを実行可能な JAR にエクスポートできましたが、アイコンは引き続き機能しました。

于 2011-01-03T16:38:33.860 に答える
6

私が見つけた解決策は、画像を含むjarを作成し、それをクラスパスに追加することです。次に、2 番目のスクリーン ショットのダイアログからそれらを選択できるようになります。

これは、ビルドパスにあるディレクトリで機能していたことを覚えています。今は強制的にjarパッケージに入っているようです。

于 2010-12-30T19:14:44.360 に答える
3

サポートされているあらゆる種類の画像をプロジェクトに追加するには、プロジェクトの「src」フォルダと「新規...パッケージ...」を右クリックし、「名前」の下に「リソース」などを指定します。その後は、そこに画像をコピーするだけです。プロジェクトを実行可能なJARにエクスポートすると、すべてのリソースが一緒になり、正常に実行されます。

于 2011-08-26T23:10:27.210 に答える
2

WindowBuilder でこれを行う方法はわかりませんがImageShellビアsetImage()またはsetImages(). ウィンドウのコントロール ボックス、Windows タスクバー、alt+tab リストなど、さまざまな解像度のアイコンがプラットフォームに提供されるため、後者を使用することをお勧めします。

このスニペットを見てください。

リソースからロードするには:

final Image small = new Image(shell.getDisplay(),
        "resources/images/icon_16.png");
final Image large = new Image(shell.getDisplay(),
        "resources/images/icon_32.png");
final Image[] images = new Image[] { small, large };
shell.setImages(images);

この例では、「images」を含む「resources」サブフォルダーがあり、次に 2 つの PNG があります。私は試していませんが、リソース JAR の指定も同様に機能するはずです。

于 2010-12-30T17:33:46.080 に答える
1

私の場合、WindowBuilder は *.ico フォーマットを認識しましたが、デフォルトの Java アイコンをカスタム アイコンに置き換えませんでした。*.ico を (この便利なオンライン ツールを使用して) *.png に変換したときだけ、実際には PNG であるにもかかわらず、WindowBuilder が最終的にデフォルトの Java アイコンをカスタムの「アイコン」に変更しました。WindowBuilder が ICO 形式を認識できることを期待していました。

于 2013-03-29T02:51:10.627 に答える