質問: new BImageFrame(url); f.setSize(f.bi.getWidth(),f.bi.getHeight()); //★ここでウィンドウのサイズをURLから読み込んだ画像の幅と高さで設定したいのです。 f.setTitle("BufferedImage"); f.setVisible(true); } }
回答: 1. biを持っているのはFrameではなくBImageFrameでは...? 2. mainはExceptionを投げません。 3. setSize()はFrame全体の大きさで、枠が考慮されません。 以下は、Frameのコンストラクタの処理です。 Labelなど(の継承クラス)を追加して、そのLabelに画像を描画するようにします。 Labelのサイズに画像のサイズを設定します(これはLabelのコンストラクタが良いかも)。 その後、pack()メソッドを呼び出します。 これで内容にぴったり合った大きさのFrameになります。