Java Swingで画像付きUIを作成する方法【初心者向けGUIプログラミング入門】

はじめに

Javaの標準GUIライブラリ「Swing」を使えば、簡単にデスクトップアプリケーションを作ることができます。本記事では、画像を表示するシンプルなUIをSwingで作成する手順をわかりやすく解説します。


Swingとは?

Swingは、JavaでGUIアプリケーションを開発するための標準ライブラリです。以下の特徴があります。

  • 標準Javaに含まれている
  • 軽量でクロスプラットフォーム対応
  • コンポーネントが豊富(ボタン、ラベル、パネルなど)

開発環境

  • Java 11以上
  • IDE:Eclipse、IntelliJ IDEA、VS Codeなど
  • 画像ファイル(例:sample.png

基本構成:画像表示付きのウィンドウを作る

画像表示のコード例

import javax.swing.*;
import java.awt.*;

public class ImageFrame extends JFrame {

  public ImageFrame() {
    setTitle("画像付きUIのサンプル");
    setSize(400, 300);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setLocationRelativeTo(null);

    // 画像の読み込み
    ImageIcon icon = new ImageIcon("sample.png");
    JLabel imageLabel = new JLabel(icon);

    // テキストラベル
    JLabel textLabel = new JLabel("これは画像付きのSwingウィンドウです");
    textLabel.setHorizontalAlignment(SwingConstants.CENTER);

    // レイアウト設定
    setLayout(new BorderLayout());
    add(imageLabel, BorderLayout.CENTER);
    add(textLabel, BorderLayout.SOUTH);
  }

  public static void main(String[] args) {
    SwingUtilities.invokeLater(() -> {
      new ImageFrame().setVisible(true);
    });
  }
}

実行結果の説明

  • ImageIconで画像ファイルを読み込み
  • JLabelに画像とテキストを表示
  • BorderLayoutで上下に配置

画像をリサイズして表示したい場合

ImageIcon originalIcon = new ImageIcon("sample.png");
Image scaledImage = originalIcon.getImage().getScaledInstance(200, 150, Image.SCALE_SMOOTH);
ImageIcon resizedIcon = new ImageIcon(scaledImage);
JLabel resizedLabel = new JLabel(resizedIcon);

UIにボタンを追加してみる

JButton button = new JButton("クリックして画像を再読み込み");
button.addActionListener(e -> {
  // 再読み込み処理(例として再表示)
  imageLabel.setIcon(new ImageIcon("sample.png"));
});
add(button, BorderLayout.NORTH);

まとめ

Swingを使えば、Javaだけで画像付きのGUIアプリを簡単に作成できます。今回紹介した例では、画像の表示・サイズ変更・UIコンポーネントの組み合わせまでカバーしました。

これを応用すれば、簡易ビューアーや画像管理アプリなども開発できます。次のステップとして、以下の機能追加を検討してみましょう。

  • 画像の複数表示
  • ファイル選択ダイアログ
  • ボタンで画像を切り替える


補足

  • sample.pngはプロジェクトのルートに配置してください。
  • Mac/Linux環境でも同じコードで動作します。
タイトルとURLをコピーしました