[解決済み】JPanelに画像を追加する方法は?
2022-02-16 08:56:28
質問
を持っています。 JPanel に、その場で生成したJPEGやPNGの画像を追加したいと思います。
これまで見てきた例では、すべて
Swingチュートリアル
特に
スイング例
使用
ImageIcon
s.
これらの画像をバイト配列で生成しているのですが、通常、640x480と、例で使っている一般的なアイコンよりも大きなサイズになっています。
- JPanelでそのサイズの画像を表示するためにImageIconクラスを使用することは、(パフォーマンスやその他の)問題がありますか?
- ってなんですか? 通常の のやり方は?
- ImageIconクラスを使わずに、JPanelに画像を追加する方法は?
編集 : チュートリアルとAPIをより注意深く調べると、JPanelに直接ImageIconを追加することはできないことがわかります。代わりに、JLabelのアイコンとして画像を設定することで、同じ効果を得ています。これは、正しいとは思えません...。
どうすればいい?
以下は、私のやり方です(画像を読み込む方法については、もう少し詳しく説明します)。
import java.awt.Graphics;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.imageio.ImageIO;
import javax.swing.JPanel;
public class ImagePanel extends JPanel{
private BufferedImage image;
public ImagePanel() {
try {
image = ImageIO.read(new File("image name and path"));
} catch (IOException ex) {
// handle exception...
}
}
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
g.drawImage(image, 0, 0, this); // see javadoc for more info on the parameters
}
}
関連
-
[解決済み】Hibernateエラー:同じ識別子値を持つ別のオブジェクトがすでにセッションに関連付けられました。
-
[解決済み】Java LinkedListでNodesを使用する
-
[解決済み] java.sql.SQLException を取得しました。ResultSet が終了した後の操作は許可されません。
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] Java Mapの各エントリを効率的に反復処理するには?
-
[解決済み] Javaでメモリーリークを発生させるにはどうしたらいいですか?
-
[解決済み] JavaでStringをintに変換するにはどうしたらいいですか?
-
[解決済み] div' コンテナに合わせて画像を自動リサイズするにはどうしたらいいですか?
-
[解決済み] div 内の画像を縦に並べる方法
-
[解決済み] Markdownで画像サイズを変更する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Hibernateエラー:同じ識別子値を持つ別のオブジェクトがすでにセッションに関連付けられました。
-
[解決済み】エラー:配列または java.lang.Iterable のインスタンスに対してのみ反復処理を行うことができます。
-
[解決済み】不正なエスケープ文字"㊧"について
-
[解決済み】「'void' type not allowed here」エラーの原因とは?
-
[解決済み】 JAVA 変数宣言はここではできない
-
[解決済み】Javaメソッドスタブ
-
[解決済み】Java Error "Exception in thread "main" java.util.InputMismatchException" Array プログラムで発生。
-
[解決済み】koch snowflake java recursion
-
[解決済み】フォルダに書き込もうとすると「java.nio.file.AccessDeniedException」が発生する件
-
[解決済み】CreateProcess error=2, The system cannot find file specified.