Java/Swing:画像を表示させるには
Java/SwingのJFrame上に画像を表示させる方法についてです。Swingでは画像用のウィジェットが用意されているわけではなく、JLabel上に表示させる方法が一般的らしいですね。
完成形はこんな感じです。画面からはみ出た部分はスクロールで確認できるようにしています。
ソースコードはこちら。
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class ImageShow extends JFrame {
private Container pane;
private JScrollPane spane;
private JLabel label;
public static void main(String[] args){
ImageShow f = new ImageShow();
f.setLocationRelativeTo(null);
f.setVisible(true);
}
ImageShow(){
super("画像表示テスト");
setSize(600, 400);
pane = getContentPane();
//画像の読み込み
ImageIcon icon = new ImageIcon("img.jpg");
//ラベルに画像を表示
label = new JLabel();
label.setIcon(icon);
//JScrollPaneにセット。縦横のスクロールバーが常に表示されるように
spane = new JScrollPane(label, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS, JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
pane.add(spane);
//終了処理
setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);
addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e){
System.exit(0);
}
});
}
}
スポンサーリンク
