[解決済み】imageio.IIOException: 入力ファイルが読み込めない
2022-01-18 06:32:06
質問
1週間前にJavaを始めて、今ウィンドウに画像を挿入したいと思っています。 何をやってもEclipseでこのようになります。 javax.imageio.IIOException: 入力ファイルを読み込めません!
package graphics;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.JFrame;
import javax.swing.JPanel;
import src.Common;
public class Window extends JFrame
{
public class Panel extends JPanel
{
public void paintComponent(Graphics g)
{
Image img;
try
{
img = ImageIO.read(new File("/logo.jpg"));
g.drawImage(img, 0, 0, this);
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
public Window(String title, int width, int height)
{
this.setTitle(title);
this.setSize(width, height);
this.setLocationRelativeTo(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setContentPane(new Panel());
this.setVisible(true);
}
}
コードはかなり自明だと思います。 で解決しようとしたのですが これ , これ そして あれ .
私がやろうとしているのはデスクトッププログラムなのですが、ソースはこのように保存されています。 トレーニング/src/グラフィック/ウインドウ トレーニング/Src/Src/Main
読み込む画像を各フォルダに入れたのですが、それでも問題が発生します :/。
何がいけなかったのでしょうか?
EDIT ついに解決!答えはこちら
nIcE cOw からは リンク が役に立ちました。 そこで、リンクにあるように、画像をフォルダに入れ、アクセス方法を変更しました。
getClass().getResource("/images/yourImageName.extension");
解決するには?
を使ってみましたか?
new File("logo.jpg");
(先頭の / を除く)?
そして、logo.jpgが出力にコピーされたことは確認しましたか?(IDEによっては、ソースディレクトリから出力(またはターゲット)ディレクトリにすべてのファイルをコピーしないものがあります)。
プレ {コードになる
/src
|-> Window.java
|-> Logo.jpg
(IDE/コンパイラは画像を出力ディレクトリにコピーしないので、正しいパスを指定したにもかかわらず、コンパイルされたコードは画像を見つけられないことに注意してください)
関連
-
[解決済み】Javaパッケージが存在しないエラー
-
[解決済み】Doubleはdereferencedできない?
-
[解決済み] 解決済み】Javaが「型をインスタンス化できない」というエラーを返す [重複] [重複]
-
[解決済み】Java JDK - doubleからintへの非可逆変換の可能性
-
[解決済み】スレッド "main "での例外 java.util.NoSuchElementException
-
[解決済み] Hide Utility Class Constructor : ユーティリティクラスはパブリックまたはデフォルトコンストラクタを持つべきではありません。
-
[解決済み】Ubuntu: OpenJDK 8 - パッケージを見つけることができません。
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] ファイルの内容からJavaの文字列を作成するにはどうすればよいですか?
-
[解決済み] ファイルを作成し、書き込むにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Javaパッケージが存在しないエラー
-
[解決済み] if / for / while 内で "Missing return statement" が発生する。
-
[解決済み】javaで指定されたファイルが見つからない
-
[解決済み] hibernateでResultSetを抽出できない。
-
[解決済み】Java、"変数名 "を変数に解決することができない
-
[解決済み】指定された子にはすでに親がいます。先に子の親に対してremoveView()を呼び出す必要がある(Android)
-
[解決済み] 二項演算子「&」のオペランド型がおかしい java
-
[解決済み】文字列中の � を置換する方法
-
[解決済み】Javaで文字列をコピーするにはどうしたらいいですか?
-
[解決済み】javaで無効な文字定数