にほんブログ村 IT技術ブログへ
にほんブログ村

Linux ブログランキングへ

2022年12月04日

初心者Java講座 練習編 GUIツールキット Swing その2


お次はJavaでGUIのSwingでアプリを書いてみましょう。
早いって???
まあ良いでしょうw
細かい勉強は後々。
気が向いたときにでも。ワラワラ

●GUIツールキットのSwing
GUIアプリを作るならJavaFXとSwingですが、
新しいJavaFXがJDK11から削除されたので、
何故か昔から生き残っているSwingが復活傾向にあります。
Javaの場合、入れるの面倒ですもんね。


●Swing
昔からあるGUIツールキットですが、機能が古いです。
しかし最近はJavaFXが11で削除されたのでまた復活しつつあります。

Swingとは

まあ深いことを考えずにSwingでコードを買いて動かしてみましょう。
細かい所は動いてから考える。それが初心者のやり方です(違


●Swingサンプルコード
またテキストエディタで貼り付けます。

nano swing1.java

でコピペ

import javax.swing.JFrame;

class swing1{
public static void main(String args[]){
JFrame frame = new JFrame("MyTitle");
  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(600, 400);
frame.setVisible(true);
}
}


で保存してビルド

javac swing1.java
java swing1

で何も表示されないSwingのWindowが表示されたはずです。


import javax.swing.JFrame; はSwingを使うためのコンポーネントの読み込み
class swing1{ プログラム本体
public static void main(String args[]){ メインルーチン
JFrame frame = new JFrame("MyTitle"); "MyTitle"をframeという名前でJFrameとして作る
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 閉じるボタンで終了
frame.setSize(600, 400); サイズを(600,400)指定
frame.setVisible(true); Frameを表示

こんな感じです。
JFrameの後にframeと命名したので、その後のコマンドにframeを付けないとエラー。
後は参考サイトのコンポーネント一覧などを読みながら機能を追加します。
意外と面倒ですよね。
この繰り返しです。

●まとめ
サンプルコードを元にSwingでJavaのWindowプログラムを書いてみました。
まだ何も表示されません。
実はここからがサブルーチンを駆使するので大変ですw
一気にコードがめちゃくちゃ長くなります。
これがJavaの辛い所でしょうか。
一度に沢山覚えるのは苦痛なので、とりあえず動かしてから
中身と後でゆっくり考えましょう。


posted by kapper at 10:20 | Comment(0) | Java

初心者Java講座 練習編 コードの書き方とビルド その1


最近Javaのコードを書いていないのですっかり忘れてしまいました。
のでせっかくの良い機会なのでゼロからJava初心者講座を始めようかとw


●Java in Ubuntu
Javaは普通にインストールして実行出来ますが、
実際にアプリを作るときは下位互換性も気をつけて入れましょう。

sudo apt install default-jdk

Windowsの場合は公式のJavaインストーラーを入れれば良いです。
しかし面倒くさいPathの設定が必要です。
Linuxの場合はPathが既に固定されているので設定不要なので楽ですw


PATHの設定及び環境変数JAVA_HOMEの設定


Java11からGUIツールキットのJavaFXが削除されたので、
Swingを使うかJavaFXを入れるかはまたゆっくり練習しながら考えます。

●Java練習
Pathが通ったという前提で、コマンドラインから実行します

java --version

で、こんな感じで出てこればOKです。

openjdk 11.0.17 2022-10-18
OpenJDK Runtime Environment (build 11.0.17+8-post-Ubuntu-1ubuntu222.04)
OpenJDK 64-Bit Server VM (build 11.0.17+8-post-Ubuntu-1ubuntu222.04, mixed mode, sharing)

適当にフォルダを作成します。

mkdir java
cd java
mkdir test
cd test

でJavaのソースコードを書きます。
今回はHello Worldをコピペでテキストエディタに貼り付けます

nano HelloWorld.java

で下を貼り付け

class HelloWorld {
   public static void main(String[] args) {
      System.out.println("Hello, world.");
   }
}

保存したらjavacでビルドして出来たHelloWorld.classを実行します。

javac HelloWorld.java
java HelloWorld



Hello, world.

と表示されたらOKです。
コードの説明ですが、

classが本体でHelloWorldというプログラム名
public static void main(String[] args) { はプログラム内のメインルーチン表示
System.out.println("Hello, world."); は”Hello, world.”を表示するコマンド

改行に;が必要なので注意
{ }で内でプログラムを書くので閉じる必要があります。


●まとめ
Javaという言語は単にコードが長いので生産性が悪く、
コードが複雑になるので学習時間が長くなり初心者には厳しい言語です。
 その反面としてビルドしたら高速、
 どのOS環境でも使える、
 下位互換性があるので末永くプログラムが実行出来る、
 GUIや様々なツールキットがあるので何でも出来ます。
 ネットワーク関係に強いです。AndroidもJavaです。
iOSならRoboVMでしょうか?古い?
コードを書くのがウザかったらKotrin使いましょう。とか。
まずは一歩づつ練習しかないですね。

posted by kapper at 09:47 | Comment(0) | Java
にほんブログ村 IT技術ブログへ
にほんブログ村

Linux ブログランキングへ