夢追い人

"It takes a dreamer to make a dream come true."―Vincent Willem van Gogh

さぁて。

お久しぶりです。

今日からしばらく、自分のゲームのためのSwing学習にあわせて、Swingの記事を書こうと思います。


Swingとは、JavaGUIアプリケーションを作るときに使えるライブラリです。

ではいってみましょう。

とりあえずサンプルプログラムです。
import javax.swing.*;

class SSample1_2 {
public static void main(String args[]) {
JFrame frame = new JFrame("タイトル"); // フレーム
JPanel panel = new JPanel(); // パネル
JButton button = new JButton("O.K."); // ボタン
panel.add(button); // パネルにボタンを設置
frame.add(panel); // フレームにパネルを設置
frame.setBounds(100,100,200,160); // フレームのサイズ、座標を設定
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // 終了の処理
frame.setVisible(true); // フレームの表示
}
}
では解説です。
まぁと言っても基本はコメントのとおりです。
一行目ではswingをimportしています。STLなどと同じように、*でまとめてimportすることが出来ます。
五行目~七行目では各コンポーネントを初期化しています。
十行目では左上隅と右下隅の座標を指定しています。
あとは大体その通りです。

コンパイルにはこんなbatファイル(もしくはshファイル)を用意しておくと良いです。
javac -encoding UTF-8 %1.java
java %1
これを使えば、コンパイルと実行が同時に出来ますし、Windowsでも文字化けしません。

今回はここで終わってもいいのですが(基本事項はやりましたし…)せっかくなのでアイコンを変える方法もやっておきましょう。

サンプルプログラムです。
import javax.swing.*;

class SSample7_1 extends JFrame {
public static void main(String args[]) {
SSample7_1 frame = new SSample7_1("タイトル");
frame.setVisible(true);
}

SSample7_1(String title) {
setTitle(title);
setBounds(100,100,300,250);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

ImageIcon icon = new ImageIcon("./icon.png");
setIconImage(icon.getImage());
}
}
extendsは継承と言うJavaの重要事項なのですが、ここでは本筋から外れるので省略します。
アイコンはSSample7_1関数の最後の二行で、一行目でicon.pngにアイコンをインスタンス化し、setIconImageでアイコンを設定しています。

まぁようするに基本的なプログラミングスキルがあれば、あとは頑張るということで…

拙かったですがjava driveという元ネタでありすばらしいサイトがあるので興味ある人は覗いてください。