私はJPanel
これに、その場で生成した JPEG 画像と PNG 画像を追加したいと思います。
これまで私が見てきたすべての例はスイングチュートリアル特に、スイングの例s を使用しますImageIcon
。
これらの画像はバイト配列として生成しており、通常は例で使用される一般的なアイコンよりも大きく、640 x 480 になります。
ImageIcon
クラスを使用してそのサイズの画像を表示すると、何か(パフォーマンス上またはその他の)問題が発生しますかJPanel
?- 「通常の」やり方は何ですか?
JPanel
クラスを使用せずに画像を追加するにはどうすればよいですかImageIcon
?
編集: チュートリアルと API を詳しく調べてみると、 をImageIcon
直接 に追加できないことがわかりますJPanel
。代わりに、 のアイコンとしてイメージを設定することで同じ効果を実現していますJLabel
。これは何かおかしい気がします...
ベストアンサー1
JPanel を使用している場合は、おそらく Swing を使用しています。これを試してください:
BufferedImage myPicture = ImageIO.read(new File("path-to-file"));
JLabel picLabel = new JLabel(new ImageIcon(myPicture));
add(picLabel);
これで、画像はスイング コンポーネントになりました。他のコンポーネントと同様に、レイアウト条件の対象になります。