BufferedImage img = ImageIO.read(new File("index.jpg"));
分析:
これにより、BufferedImage
と呼ばれる変数が作成されます。これは、ドキュメントimg
のように、Javaが画像を表示するために必要なデータを保持するオブジェクトと考えることができます。BufferedImage
BufferedImage
サブクラスは、Image
画像データのアクセス可能なバッファを備えたを記述します。ABufferedImage
は、ColorModel
と画像データのラスターで構成されます。
このクラスには基本的に、毎回独自に書き込むことなく画像を読み書きするのに役立つメソッドが含まれています。
ImageReaders
とを検索しImageWriters
、単純なエンコードとデコードを実行するための静的な便利なメソッドを含むクラス
。
これはpublic
static
内部のメソッドであるため、キーワードImageIO
なしでアクセスできます。new
これにより、使用するファイルのデータを読み込むことができ、ドキュメントに従ってImage
読み込んだデータを返します(したがって、変数に保存します)。
現在登録されているファイルの中から自動的に選択されたImageReaderを使用して、提供されたファイルをデコードした結果としてBufferedImageを返します。ファイルはImageInputStreamにラップされています。
パラメータ:input-読み取るファイル。
戻り値:入力のデコードされた内容を含むBufferedImage、またはnull。
スロー:IllegalArgumentException-入力がnullの場合。IOException-読み取り中にエラーが発生した場合。
new File(String filename)
はクラスFileの非静的メソッドであるため、新しく作成されたインスタンス(new
)でアクセスする必要があります。これにより、ファイルへの参照を作成できるため、ドキュメントに従ってFile
インスタンスで操作(つまり、読み取り/書き込みなど)を実行できます。
指定されたパス名文字列を抽象パス名に変換して、新しいFileインスタンスを作成します。指定された文字列が空の文字列である場合、結果は空の抽象パス名になります。
パラメータ:pathname-パス名文字列
スロー:NullPointerException-パス名引数がnullの場合
setIconImage(img)
これで、ファイルから読み取ったすべてのデータ(画像であり、に変換された)を呼び出すと、画像がsアイコンBufferedImage
として表示されます。JFrame
それを行う別の方法は次のとおりです。
// Create frame
String title = "Frame Title";
JFrame frame = new JFrame(title);
// Set icon
Image icon = Toolkit.getDefaultToolkit().getImage("icon.gif");
frame.setIconImage(icon);