Document

第9回 Swing
準備



フォルダ名
Swing
コピー元
~professor/Java/Swing2/*
コマンドプロンプト
ネットワークの時と同様にコマンドプロンプト
から実行できるようにしておいてください。
Swingについて


SwingとはJavaでGUIアプリケーションを作
成するためのパッケージ。Swingを使用す
ることによって、実行環境によらない統一さ
れたGUIを作成できる。
アプレットより動作が軽いのが特徴
Pacman.java



5 public class Pacman extends JPanel
PacmanクラスにJpanelを継承
7 public void paintComponent(Graphics g)
グラフィックの描画を行うメソッド
アプレットのpaintメソッドと同じ働き
12 JFrame f = new JFrame();
Jframeの生成
続き



13 f.getContentPane().add(new Pacman());
JFrameにContentPaneを取得させその上に
Jpanelを載せている。
19 f.setSize(300,300);
Jframeのサイズ指定
20 f.show();
Jframeの表示
さらに続き

14-18 行目
ウィンドウが閉じられたときのイベント
System.exit(0); でプログラムを終了
Pacman2.java
16 JButton b = new JButton("Red");
Redというラベルでボタンbの生成
(アプレットとは名前が少し違うことに注意)
17 c.add(b, BorderLayout.NORTH);
ぺインの上側にボタンをのせる。
位置を指定しないとJpanelの上にかぶさる。

演習

Pacman3.javaを参考に,ボタンを押す度
に赤と緑を 交互に変えるPacmanRG.java
を作成せよ.
Icon1 .java



7 Icon img = new ImageIcon("C-01.gif");
指定した画像をimgというアイコンとして生成
8 JLabel lab = new JLabel(img);
imgを乗せたlabというラベルを生成
(本来は文字列を入れるもの)
9 add(lab);
Jpanelにlabを乗せる
Text1.java




6 JTextField t;
テキストフィールドtを定義
9 t = new JTextField("Write Here", 20);
Write Hereと書かれた20文字分のテキスト
フィールドtを生成
16 lab.setText(t.getText().toUpperCase());
t.getText()でテキストフィールドtの中身を取得
し大文字にしlab.setTextでラベルに貼り付ける
演習

シグモイド関数 f(x) = 1/(1 + e-x) を計算
する Text3.javaを描け.
Works.java

c.setLayout(new FlowLayout());
setLayoutでペイン上のレイアウトを設定する。
FlowLayoutはレイアウトをJFrameの大きさに合
わせて自動的に行う
演習

セ氏カ氏変換プログラムFahrenheit.java
の Swing版 FahrenheitSwing.javaを書け.
宿題
宿題10.1、10.3
 オリジナル問題
○×クイズを行うプログラム
Marubatsu.javaをSwingで作成せよ。
(問題数は3問以上にしてください。)
