1

私はJavaで冒険しているので、マインスイーパを構築しています。メカニックが完成したので、ユーザーフレンドリーにしたいと思います。

毎回ボタンに ImageIcon を追加しようとしましたが、できません! Javaがこれでどのように機能するかわかりません!

私はこれをやっています:

(これが JButton を拡張しているとします)

super(new ImageIcon("/minesweeper/resources/bomb.png"));

次のようなパッケージがあります。

  • 掃海艇
  • マインスイーパ.コンポーネント
  • minesweeper.resources (ここで画像を整理しようとしています)
  • テスト (テストのみの一部)

私はそれを間違っていますか?(ofc、しかし、それはどのように正しいですか?)

4

2 に答える 2

3

次の方法で画像を取得できます。

new ImageIcon(getClass().getResource("/minesweeper/resources/bomb.png"))

パブリック URL getResource(String name)の Java Doc を確認してください

于 2011-10-05T00:51:53.660 に答える
1

特に異なるパッケージング方法が使用されている場合に発生する可能性のある問題を回避するには、resまたは何かと呼ばれる新しいパッケージを作成し、その中に a をダンクRes.javaします。イメージを同じパッケージ ディレクトリに配置します。さて、何かを読みたいときは、InputStreamusing を取得Res.getClass().getResourceAsStream("filename");し、ストリーム ( ) で新しい ImageIcon を作成しますnew ImageIcon(is)。これによりImageIcon、ラベルで使用できる が得られます。

イメージの設定にスーパー コンストラクターを使用する場合は、一度に実行できます。

super(new ImageIcon(Res.getClass().getResourceAsStream("filename")));

それ以外の場合は、 を使用してsetIcon(..);ください。

resources編集: 既存のパッケージを使用します。Res.javaそこにaを入れるだけです。

于 2011-10-05T00:59:41.407 に答える