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); } }); } }
スポンサーリンク