Transcript Javaレクチャー
Javaレクチャー
ーSwing入門ー
Swingとは
ウィンドウをもつプログラムに必要な機能をま
とめたもの
ボタンやアイコン、メニューなどを取り入れた
GUIプログラムを作成することが出来る
SwingとAWTの違い
1.AWTはシステムに依存しているが、Swingは
依存していない
2.どのシステム上でも同じ外観を使用できる
3.ルックアンドフィールを切り替えられる
―ルックアンドフィール:GUI部品の見栄え、見た目の振舞いの事―
Swingの構造
Swing コンポーネントは、コンポーネント、中
間コンポーネント、トップレベルコンポーネント
の三つに階層化されている
それぞれの部品
トップレベルコンテナ
他のSwingコンポーネントを描画するためのコンテナ
中間コンテナ
他のSwingコンポーネントを配置する為などに用い
る
コンポーネント
それぞれの部品のこと。ボタンとか
HOW TO USE
コンポーネントをコンテナに取り付ける
⇒メソッドgetContentPane();でコンテンツペイン
というコンテナを作る
各種コンポーネントを作成
コンテナのadd()メソッドを使ってコンテナにコ
ンポーネントを乗っける
JFrame作成
JFrameはウィンドウを作るコンポーネント
コンテナを載せる場所な訳だから、これが無いと
始まらない
JFrame frame = new JFrame(); //ウィンドウ作成
frame.setDefaultCloseOperation(jf.EXIT_ON_CLOSE);
//クローズボタンで終了
frame.setVisible(true); //ウィンドウの表示
JFrameその他
setResizable(boolean resizable) ;
ウィンドウサイズ変更不可メソッド
setSize(int width, int height) ;
ウィンドウサイズをセットするメソッド
pack() ;
配置するコンポーネントの大きさにウィンドウサイ
ズを合わせるメソッド
レイアウトしてみる
レイアウトマネージャ
⇒部品の配置方法、大きさなどを管理する
FlowLayout
BorderLayout
FlowLayout
段落内のテキスト行と同じように一方向にコン
ポーネントを配置する。 同じ行に配置できなくな
るまでコンポーネントを配置する。
setLayout(new FlowLayout(FlowLayout.LEFT));
LEFT:左揃え
RIGHT:右揃え
CENTER:中央揃え
BorderLayout
上下右左、および中央の五つの領域に収ま
るようにコンポーネントを整列&サイズ変更
する
それぞれに対応するNORTH(上端)、
SOUTH(下端)、EAST(右端)、WEST(左端)、
CENTER(中央)という定数が用意されている
JFrameのデフォルトレイアウトがこれ
ボーダーレイアウト例
con.setLayout(new BorderLayout());
con.add(new JButton("NORTH"), "North");
con.add(new JButton("CENTER"), "Center");
con.add(new JButton("SOUTH"), "South");
con.add(new JButton("EAST"), "East");
con.add(new JButton("WEST"), "West");
ボタン
ボタンとはユーザがマウスでクリックすること
により、何かアクションを起こすために使用す
るコンポーネント
JButton bt = new JButton(“ボタン”);
テキストフィールド
テキストフィールドはユーザが1行テキストを
入力できるコンポーネント
JTextField jt = new JTextField();
その他コンポーネント
テキストエリア //メモ帳
ラジオボタン //ラジオボタン
コンボボックス //ファイルメニューみたいなの
パネル
// 他のコンポーネントを
乗っける事ができる板
などなど・・
今回の課題
サンプルプログラムを動かしてみて理解しよ
う
チャットツールもどきを作成してみよう
(ボーナス課題)アプレットで信号機を作ろう
チャットツールもどき
こんな感じでテキストフィールドに入力した文字が
ボタンイベントによってテキストエリアにコピーされ
るプログラム。
アプレットで信号機
ボタンで青→黄→赤(矢印有り)→黄→赤→・・・
ウィンドウサイズに合わせるように
出来なくてもいいです
ヒント
山村先輩のページを見てみると良いよ。