Java Basic Swing〜Javaで画面アプリを作る。〜

イントロダクション

java.swingパッケージを使用した。画面作成をやります。Java SwingはJava開発をするためにインストールしたJDKの中に入っているので外部のライブラリをインストールして。。。Mavenで依存関係を記述して。。Gradleでインポートして。。。などの手間がありません。

このパッケージ(Swingフレームワーク)はクラス→画面コンポーネント(ラベルや、テキストフィールドなど)になるのでクラス・オブジェクトの扱いを理解するのにとても役立ちます。

Swingについて

画面作成用のフレームワークで、どこに何のクラスを使用するか?が決まっています。

Swing is java frame work to make view. And defind components to use part of view.

詳細はドキュメント(英語)を見てください。

https://docs.oracle.com/javase/tutorial/uiswing/components/index.html

JFrameクラスを継承すると。。。

 Swingの部品構成

画面を作る時は以下の順で画面コンポーネント(部品(ボタンなど))を置いていくイメージです。

Swing components based on “JFrame” or “JDialog” I think ... And put on components one.

<イメージ>

画面の1番下に土台を置きます。(JFrame, JDialo, JAppl

そして、土台の上にはボタンやラベルなどを置きます。これらの部品は土台になる部品とは親クラスが違います。※土台になる部品とボタンなどの部品は別物だと思ってくれればOK

実際の実装は今後やります。

I will write a ample code next blog...

サンプル(sample)

// フレーム(土台)
JFrame frame = new JFrame(“土台”);

// 部品を乗せるスペース=コンテナー
Container con = frame.getContentPain();

// パネル(これもコンテナーフレームより上に乗っかるもの)
JPanel panel = new JPanel();
// パネルにコンポーネントを追加
panel.add(new JLabel("ラベル1"));

// コンテナーにパネル(これもコンテナー)を追加する
con.add(panel);

文字表現ですが、下のようにコンポーネント(画面の部品)を追加して画面を作成します。

  1. フレーム
  2. パネル
  3. ラベルやテキストフィールドなど※チェックボックスなどもある

JLabelを表示する

JLabelを表示する、ハローワールド的なプログラムです。
コメントに処理内容を記述していますが、大まかに土台の上にラベルを載せて表示しているというところです。

ラベル以外のコンポーネント(パネルやフレームを含むすべての画面部品のこと)もAPIで用意されています。※ドキュメント自体は英語ですが、Google翻訳で十分に読めるものでした。

public static void main(String[] args) {
    // 土台クラス
    JFrame frame = new JFrame("FirstSwing");
    // 土台のコンポーネントを載せる部分(位置などは後で指定する)
    // コンテナーと呼びます
    Container con = frame.getContentPane();
    //コンテナの大記載をしています
    con.setSize(300, 300);
    // コンテナの上にラベルを配置します
    con.add(new JLabel("Hello Swing"));
    // 土台の上に乗せたものをおきます
    frame.setContentPane(con);
    // お約束ごとで閉じる時にこのクラスの起動を終了する設定など。。。
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    frame.pack();
    // 画面を表示する設定→これをFALSEにすると画面が非表示になる
    frame.setVisible(true);
}

Swingを使用して作成したアプリケーションです。「テキストRPG」といいます。

まとめ

つまるところは、Java Swingを使用すると、TextRPGのようなGUIアプリケーションが作成できます。そして、JavaはほとんどのPCで起動できるのでラズパイなどでも起動できマス。
今回は、画面を作成して文字を表示するためのラベルを使用してみました。HTMLで使用するフォーム部品もSwingで使用することができるのでブラウザではなく単体のアプリケーションとして作成することができます。起動するときは「実行可能JAR」というファイルに変換してやれば、ダブルクリックで起動することができます。

関連ページ一覧

Eclipse セットアップ

  1. Java Install Eclipse〜開発ツールのインストール〜
  2. TensorFlow C++環境〜EclipseCDTをインストール〜
  3. Setup OpenGL with JavaJOGLを使う準備 for Eclipse
  4. Eclipse Meven 開発手順〜プロジェクトの作成〜
  5. Java OpenCV 環境セットアップ(on Mac)
  6. Eclipse SceneBuilderを追加する
  7. JavaFX SceneBuilder EclipseSceneBuilder連携~

Java Basic一覧

  1. Java Basic Level 1 〜Hello Java〜
  2. Java Basic Level2 〜Arithmetic Calculate〜
  3. Java Basic Level3 〜About String class〜
  4. Java Basic Level 4〜Boolean〜
  5. Java Basic Level 5〜If Statement〜
  6. Java Basic Summary from Level1 to 5
  7. Java Basic Level 6 〜Traning of If statement〜
  8. Java Basic Level8 〜How to use for statement〜
  9. Java Basic Level 8.5 〜Array〜
  10. Java Basic Level 9〜Training of for statement〜
  11. Java Basic Level 10 〜While statement 〜
  12. Java Basic Swing〜オブジェクト指向〜
  13. Java Basic Swing Level 2〜オブジェクト指向2〜
  14. サンプル実装〜コンソールゲーム〜
  15. Java Basic インターフェース・抽象クラスの作り方
  16. Java Basic クラスとは〜Step2_1〜
  17. Java Basic JUnit 〜テストスイートの作り方〜

Git関連

  1. Java Git clone in Eclipse 〜サンプルの取得〜
  2. Eclipse Gitリポジトリの取得 GitからソースをPullしよう〜
  3. IntelliJ IDEA GitGitリポジトリからクローン〜