アトミックコンポーネント ( 部 品 )<ボタン, 文 字 > 中 間 コンテナ ( 部 品 を 置 く 場 所 ) トップレベルコンテナ (GUI を 表 示 するための 場 所.コンテントペイン) Swingコンポーネントを 利 用 する 手 順 サンプル 10.1 (Helo.java)につい



Similar documents
ガイダンス

ガイダンス

ガイダンス

Word 003 スキルブック 06 - オブジェクトの 利 用 0.Word で 作 る 表 : 行 幅 を 最 小 値 より 小 さく 設 定 する 3 表 の 左 右 のサイズを 適 宜 調 整 します Word で 表 を 作 成 するとき, 列 幅, 行 幅 ともに 基 本 的 に 自 由

1

<4D F736F F D B68F918DEC90AC89898F4B899E977095D2816A2E646F63>

ÿþ˜u#u·0¹0Æ0à0

awt の主要なクラスを下記に示す クラス Component Container Button Label Panel Frame 説明画面にユーザインターフェイス要素として表示し, ユーザとのやり取りを行うコンポーネントを表すすべてのコンポーネントのスーパークラスになる ほかのコンポーネントを含

スライドの 編 集 とリンク スライドのレイアウトやデザインが 決 まったら 文 字 の 編 集 をしたり スライドの 順 序 変 更 やリンク 設 定 をして 見 栄 えの 良 いプレゼンテーションを 作 成 しましょう ファイル MP05 完 成.ppt を 開 き 内 容 を 編 集 していき

名刺作成講習

地域ポータルサイト「こむねっと ひろしま」

■新聞記事

text_12.dvi

public class Kadai _02 { public static void main(string[] args) { MyFrame frame = new MyFrame("Kadai _02"); (2) フレームのクラス名は MyFrame とし 以下

2 static final int DO NOTHING ON CLOSE static final int HIDE ON CLOSE static final int DISPOSE ON CLOSE static final int EXIT ON CLOSE void setvisible

スライド 1

TIPS - 棚 割 りを 開 始 するまで Liteを 起 動 し 企 業 情 報 の 追 加 を 行 い 棚 割 を 行 う 企 業 の 追 加 をして 下 さい 企 業 情 報 の 追 加 時 に エラーメッセージが 表 示 された 場 合 別 途 TIPS トラブルが 発 生 した 場 合

< F2D93648E718E868EC58B8F30332E6A7464>

<4D F736F F F696E74202D AC C8899E D834F E >

検 索 文 字 列 が 住 所 にマッチするならば 地 図 画 面 を 表 示 します 検 索 文 字 列 が 住 所 の 一 部 ならば キーワードを 含 む 検 索 結 果 画 面 を 表 示 します

< F2D89C692EB834E CC837A815B B83578DEC>

自宅でJava言語の開発環境を作る方法

Microsoft PowerPoint - swing2.ppt

PowerPoint プレゼンテーション

<4D F736F F D ED28FDA8DD7837D836A B2E646F6378>

KINGSOFT Office 2016 動 作 環 境 対 応 日 本 語 版 版 共 通 利 用 上 記 動 作 以 上 以 上 空 容 量 以 上 他 接 続 環 境 推 奨 必 要 2

A

Word2013による文書の作成(1級).indd

ガイダンス

目 次 1.ログイン 方 法 P2 2.ログアウト 方 法 P3 3. 基 本 設 定 変 更 サイトネーム スローガンの 設 定 P10~11 カラーバリエーションの 選 択 P12 メニュースタイル 色 の 設 定 P12 4.トップページの 画 像 編 集 画 像 の 変 更 P13~14 T

_責)Wordトレ2-1章_斉

PowerPoint プレゼンテーション

public class MyFrame { private JPanel panel1; private JPanel panel2; private JPanel panel3; private JPanel panel4; private JLabel label1; private JTex

B 10 : N ip2003f10.tex B : 9/12/ :02 p.1/71

「1 所得税及び復興特別所得税の確定申告書データをお持ちの方」からの更正の請求書・修正申告書作成編

1. 機 能 概 要 CADデータ(DXF 形 式 )を 変 換 し EXCELに 図 形 として 表 示 します CADでのレイヤー 毎 に 表 示 / 非 表 示 や 線 分 の 属 性 ( 色 太 さ 等 )を 指 定 でき さらに 作 成 する 図 面 の 範 囲 大 きさを 指 定 できま

ガイダンス

<4D F736F F D F B B838082F090DD927582B782E995FB96405F E646F6378>

2016 年 度 情 報 リテラシー 次 に Excel のメニューから[ 挿 入 ]タブをクリックし 表 示 されたメニュー 内 の[グラフ]にある[ 折 れ 線 グラフ]のボタンをクリックする するとサブメニューが 表 示 されるので 左 上 の[ 折 れ 線 ]を 選 択 する [ 挿 入 ]

untitled

Microsoft Word _page新機能について.doc

はじめに確認していただきたいこと

Microsoft Word - TCⅡマニュアル_第6章_ doc

Java言語 第1回

OpenOffice.org のプレゼンテーション 機 能 ここでは OpenOffice.org のプレゼンテーションツールである Impress について 説 明 します まず 最 初 に プレゼ ンテーションの 作 成 と 発 表 のやり 方 を 解 説 します そのあとで プレゼンテーション

2016 年 度 情 報 リテラシー 変 更 された 状 態 同 様 に 価 格 のセルを 書 式 設 定 する 場 合 は 金 額 のセルをすべて 選 択 し [ 書 式 ]のプルダウンメニューか ら[ 会 計 ]を 選 択 する すると が 追 加 され 金 額 としての 書 式 が 設 定 さ

ThinkBoard Free60 Manual

<4D F736F F D C97F195CF8AB DEC90E096BE8F912091E6312E313294C52E646F63>

Ngraph for Windowsの使用法

ひらがなを 入 力 する 濁 点 などを 入 力 する 漢 字 を 入 力 する 漢 字 に 変 換 する 一 度 入 力 した 文 字 の 再 変 換 は 全 角 半 角 文 字 を 切 り 替 える 文 章 を 入 力 し 漢 字 変 換 する 数 字 を 入 力 する 英 文 字 を 入 力

3. PDF 内 のテキストに 枠 が 表 示 されます 変 更 する 部 分 をクリックし テキストの 追 加 変 更 削 除 などを 行 うことができます フォントの 種 類 や 文 字 サイズなどのスタイル を 変 更 する 場 合 は 次 のステップに 進 みます 2

第21章 表計算

1.3 利 用 方 法 図 1 国 立 国 会 図 書 館 デジタルコレクション 送 信 サービスの 対 象 資 料 本 文 の 閲 覧 は 図 書 館 サービスカウンター 備 え 付 けの 専 用 パソコン(1 台 )のみでの 利 用 となります 利 用

スライド 1

治 験 実 施 管 理 システム NMGCP 向 け Excel 形 式 プロトコール 作 成 手 順 書 V4.0.3 対 応 版 第 1 版 株 式 会 社 富 士 通 アドバンストエンジニアリング All Rights Reserved,Copyright 株 式 会 社 富 士 通 アドバン

Prog1_12th

<4D F736F F D208FEE95F18F88979D EF68BC A F F696E DEC816A2E646F63>

OpenCity2説明

GUI プログラミング第 4 Graph ~ 手書認識と関数グラフ描画 ~ マウスで数式を書いて認識し 関数グラフを描画する < 手書認識とグラフ描画のステップ> ステップ 1_1 フレームの作成 ステップ 1_2 マウスで自由に線を書く ステップ 2-1 手書認識認識結果を標準出力する ステップ

2ステータスバーのアイコンを 文 字 表 示 にする ステータスバーを 右 クリックし アイコンを 使 用 のチェックをはずす 文 字 表 示 になる 操 作 時 は 適 宜 オン オフを 変 更 するが まずは 直 行 モード OSNAP 線 の 太 さのみオンとし 他 はオフにしておく 2. 製

「給与・年金の方」からの確定申告書作成編

問 題 1 次 の 文 章 は 作 業 環 境 について 述 べたものである にあてはまる 適 切 なも のを 解 答 群 { }より 選 び その 記 号 で 答 えよ 設 問 1. < 図 1>はアプリケーションウィンドウの 一 部 である < 図 1>の1の 部 分 を < 図 1> という

目 次 1.はじめに 書 式 の 説 明 表 紙 スケジュール 組 入 れ 基 準 併 用 禁 止 薬 併 用 注 意 薬 同 種 同 効 薬 医 師 モニタリング..

Prog2_11th

賞 状 を 作 ってみよう 1- 賞 状 フォルダを 使 用 賞 状 のテンプレートから ワードで 賞 状 の 文 章 を 作 成 します あらかじめ EXCEL で 作 成 した 受 賞 者 の 名 簿 から 学 年 クラス 名 前 を 入 れて 印 刷 します 1Excel の 賞 状 名 簿.

2007年度版

メール 受 信 画 面 のレイアウトを 変 更 することができます ここでは 初 期 設 定 のレイアウトで 表 示 されているボタ ンやマークについて 解 説 します メール 一 覧 画 面 には 受 信 したメールが 一 覧 表 示 されます メール 受 信 タブをクリックすると 受 信 箱 フ

目 次 1. 積 算 内 訳 書 に 関 する 留 意 事 項 1 ページ 2. 積 算 内 訳 書 のダウンロード 3 ページ 3. 積 算 内 訳 書 の 作 成 (Excel 2003の 場 合 ) 6 ページ 4. 積 算 内 訳 書 の 作 成 (Excel 2007の 場 合 ) 13

PowerPoint Presentation

2 Wee とは Wee はホームページの 更 新 ツールです Wee は サイトの 枠 組 みをWeb 製 作 業 者 が 作 成 し 更 新 は お 客 様 に 自 由 にしていただこうというコンセプトの 製 品 です インターネットに 繋 がる 場 所 ならどこからでも ブラウザでホームページ

次の演習課題(1),(2)のプログラムを完成させよ

Microsoft PowerPoint - OOP.pptx

日 付 部 分 を 入 力 する 今 回 は 3 月 のカレンダーを 作 ります 3 月 は 水 曜 日 からはじまりますので 1 水 曜 日 第 1 週 目 にあたるセル D2 に 1 その 隣 の E2 に 2 と 入 力 しましょう と 入 力 したセル D2:E2 をドラッグして

(Microsoft PowerPoint -

PowerPoint プレゼンテーション

返還同意書作成支援 操作説明書

計算式の取り扱い

PowerPoint プレゼンテーション

SchITコモンズ【活用編】

スライド 1

Microsoft Word - Excel2.doc

10/31 Java AWTの基本構造(Frameクラスの継承) 演習課題資料

第 1 章 PowerPoint を 始 める 前 に 第 1 章 PowerPoint を 始 める 前 に 1. 最 初 に 考 えること 2. PowerPoint の 画 面 -1- IBR2012-V1.0

Microsoft Word - 203MSWord2013

Fckeditor の 基 本 的 な 使 い 方 Point!! fckeditor を 上 手 く 使 うコツ 始 めにページ 内 に 一 通 り 文 章 ( 画 像 や 表 を 含 む)を 書 いてから 文 字 装 飾 をして 下 さい 編 集 したいテキストや 画 像 を 選 択 し アイコ

問 題 1 次 の 文 章 は Word の 作 業 環 境 および 環 境 の 設 定 変 更 について 述 べたものである にあてはまる 適 切 なものを 解 答 群 { }より 選 び その 記 号 で 答 えよ 設 問 1. は [ウィンドウ]メニューの 表 示 したものである {ア.[ 並

問 題 1 次 の 文 章 は Excel の 作 業 環 境 および 環 境 の 設 定 と 変 更 について 述 べたものである 下 線 部 の 記 述 の 正 誤 を 判 断 し 解 答 群 { }の 記 号 で 答 えよ ただし 下 線 部 以 外 の 記 述 に 誤 りはないものとし 特

< C835B D348B89838F C E786477>

スライド 1

SXF 仕 様 実 装 規 約 版 ( 幾 何 検 定 編 ) 新 旧 対 照 表 2013/3/26 文 言 変 更 p.12(1. 基 本 事 項 ) (5)SXF 入 出 力 バージョン Ver.2 形 式 と Ver.3.0 形 式 および Ver.3.1 形 式 の 入 出 力 機 能 を

< F2D E835A838B82C AE82CC >

Microsoft Word - 貼り付け2010pdf用.docx

問 題 1 以 下 の 設 問 に 従 って 全 体 を 設 定 し デザインせよ ただし 設 問 で 指 定 された 設 定 以 外 は 既 定 値 のままとする (1) 以 下 の 6 枚 のスライドから 構 成 される 新 しいプレゼンテーションを 作 成 し 実 技 用 フォルダに ガーデニ

Microsoft Word - 第3章.doc

目 次 はじめに.... 比 較 表 示 の 手 順...2. 画 像 を 表 示 リストに 登 録 比 較 表 示 画 面 の 使 い 方 枚 の 画 像 を 比 較 する 比 較 表 示 画 面 内 拡 大 表 示 機 能 の 使 い 方 マー

ワープロソフトウェア

改 訂 履 歴 訂 番 日 付 頁 変 更 内 容 /02/28 - 新 規 作 成 /11/07 表 紙 タイトルを 修 正 修 正 前 : 東 日 本 大 震 災 アーカイブデータベースシステム 修 正 後 : 災 害 アーカイブデータベースシステム 改

(Microsoft PowerPoint - Ver12\203o\201[\203W\203\207\203\223\203A\203b\203v\216\221\227\277.ppt)

アジェンダ 1 グラフィカルなインタフェース GUI(Graphical User Interface) の基礎 2 Swing を利用する Swing の基礎知識 2

Microsoft Word - 情報メディア利用ガイド2014

Transcription:

GUIクラス GUI:グラフィカルユーザーインターフェース(GraphicalUserInterface)の 略 画 像 (アイコン,メニュー,ボタンなど)を 利 用 して, 操 作 性 を 高 めたコンピュータとのインターフェース 機 能.Windows,Mac OS など 多 くのパソコン OSで 利 用 されている. GUIを 持 つプログラムの 特 徴 枠 で 囲 まれたウインドウ 上 にボタンやテキスト 入 力 域 などの 部 分 を 表 示 する ユーザーがそれらにマウスやキーボードを 使 って 働 きかける ユーザーからの 働 きかけに 応 じてプログラムが 動 く Javaの 場 合 GUIを 作 成 するための 部 品 やプログラムがクラスとして 存 在 する. GUIクラス (コンピュータ 環 境 (プラットフォーム)に 依 存 しないプログラムの 作 成 が 可 能 ) クラスを 拡 張 して 多 数 の 類 似 するクラス( 部 品 )を 作 成 している 関 連 するクラスやインターフェースをグループごとにまとめている(パッケージ) Javaで 利 用 される GUIパッケージ AWT パッケージ(AbstractWindowsToolkit) GUIの 基 本 クラス 群 Swingパッケージ AWTを 拡 張 して 開 発 されたツールキット. 利 用 時 には Swingも 必 要 コンポーネントの 種 類 教 科 書 図 10.2 Swingが 提 供 するコンポーネントの 階 層 図 (AWTのコンポーネントも 含 まれている) Swingの 全 てのクラスは Containerクラス(AWTコンポーネントのひとつ)のサブクラスである. さらに,J で 始 まるほとんどのクラスは JComponentのサブクラスである.( 例 えば JComponentは Containerを 継 承 して 作 られる ) コンポーネントは 次 の3つに 分 類 される トップレベルコンテナ 画 面 上 に 表 示 するために 必 要 となるコンポーネント. GUIの 内 容 を 表 示 する 領 域 (コンテントペイン)があり,ウィンドウや Webブラウザ 上 に 表 されるコンポーネ ントはコンテントペイン 上 に 置 くこととなる 中 間 コンテナ コンポーネントを 実 際 に 配 置 する( 描 画 する) 場 所 となるコンポーネント( 下 位 レベルのコンポーネントは( 通 常 は) 中 間 コンテナの 中 に 配 置 する. 一 方 中 間 コンテナはトップレベルコンテナのコンテントペインにな る.) アトミックコンポーネント 下 位 レベルのコンポーネント.ボタンやラベルなどの 個 々の GUI 部 品 ( 直 接,トップレベルコンテナに 配 置 されることもある. 特 に,JAppletの 場 合 ) -1-

アトミックコンポーネント ( 部 品 )<ボタン, 文 字 > 中 間 コンテナ ( 部 品 を 置 く 場 所 ) トップレベルコンテナ (GUI を 表 示 するための 場 所.コンテントペイン) Swingコンポーネントを 利 用 する 手 順 サンプル 10.1 (Helo.java)について ( 教 科 書 p103) 1つのラベルと2つのボタンを 作 成 する ( 処 理 内 容 ) mainメソッド 1 Hell oクラスのオブジェクト 作 成 2 Hell oオブジェクトを 表 示 するためのフレーム 3 トップレベルコンテナを 作 成 する 3 そのコンテナに Hell oオブジェクトを 置 く 4 フレームに 対 して packメソッド 5 setvisibleメソッドを 実 行 し, 見 えるようにする L20 L21 L22 L23 L24 L25 プログラム 上 の 手 順 (1) GUIパッケージをインポート L1,2 * は 全 てのコンポーネントをあらわす java.awt.* :: java.awtパッケージに 多 くのクラスのファイルが 存 在 し,それら 全 てを 対 象 とする. javax.swing.*::swingパッケージの 組 み 込 み (2)コンテナを 用 意 L4 Heloクラス 自 身 がコンテナとなる. (Hell oクラスは JPanel( 中 間 コンテナ)のサブクラスなので Heloも 中 間 コンテナと 言 える) (3)コンポーネント(ラベルとボタン)を 作 成 する L9~11 コンテナに 配 置 するコンポーネントの( 具 体 的 な)オブジェクトを 作 成 する(ボタン2つ,ラベル1つ) (4)コンポーネントの 配 置 方 式 の 設 定 レイアウトマネージャの 機 能 に 任 せる 場 合 が 多 い.(デフォルトに 存 在 ) はじめから 配 置 方 式 (レイアウト)が 用 意 されている (ex) 配 置 方 式 の 設 定 Containerクラスの setlayoutメソッドの 利 用 引 数 は レイアウトクラスのオブジェクトを 指 定 L13 レイアウトマネージャ = レイアウトを 自 動 的 に 設 定 し,コンポーネントを 配 置 する 管 理 機 能 クラスとして 存 在 し,そのクラスのオブジェクトを 利 用 する -2-

(5)コンポーネントを 配 置 <コンストラクタ 内 で 実 行 > コンテナにコンポーネントを 置 く Containerクラス(スーパークラス)の( 継 承 された)addメソッドの 利 用 L14-16 (JPanelの addメソッドを 利 用 する) addメソッド( 配 置 するコンポーネント, 配 置 する 領 域 ) (ex)add(b1, BorderLayout.CENTER) b1(ボタン)を BorderLayoutレイアウトの CENTER( 中 央 )に 置 く (6)トップレベルコンテナを 用 意 (mainメソッド 内 で 行 う) L21 中 間 コンテナを 置 くための トップレベルコンテナ を 設 定.メインウィンドウとなる Jframe クラスのオブジ ェクトを 作 成.この 上 に 中 間 コンテナ Heloオブジェクトを 置 く. (7)トップレベルコンテナのコンテントペインを 取 得 L22 中 間 コンテナを 置 くための 場 所 (コンテントペイン)を 設 定 する Jframeのコンテントペインは JframeのオブジェクトメソッドgetContentPaneメソッドを 利 用 し,そしてコン テナ(Containerクラス)のオブジェクトとする (8)トップレベルコンテナのコンテントペインへのコンテナの 配 置 (Containerクラスの addメソッドを 利 用 ) << 教 科 書 P103 リスト10.1>> 1:import java.awt.*; 2:import javax.swing.*; 3: 4:class Hello extends JPanel{ 5: JLabel label; //ラベル 用 の 変 数 6: JButton b1, b2;//ボタン 用 の 変 数 7: 8: Hello( ){ Hell oコンストラクタ ( 中 間 コンテナおよびその 内 部 からなる GUIの 作 成 ) 9: label = new JLabel("こんにちは"); //JLabelオブジェクトの 生 成 10: b1 = new JButton("ボタン1"); //JButton オブジェクトの 生 成 11: b2 = new JButton("ボタン2"); //JButton オブジェクトの 生 成 12: 13: setlayout(new BorderLayout()); // 配 置 方 式 の 設 定 14: add(label, BorderLayout.NORTH); //ラベルを 置 く 15: add(b1, BorderLayout.CENTER); //ボタンを 置 く 16: add(b2, BorderLayout.EAST); //ボタンを 置 く 17: } 18: 19: public static void main(string args[]){ 20: Hello h = new Hello(); //Hello のオブジェクトを 生 成 21: JFrame frame = new JFrame("Hello"); //JFrame オブジェクトを 生 成 22: Container c = frame.getcontentpane(); //フレームの 内 容 表 示 域 を 得 る 23: c.add(h, BorderLayout.CENTER); //フレームにHello オブジェクトを 置 く 24: frame.pack(); //フレームを 必 要 最 小 の 大 きさにする 25: frame.setvisible(true); //フレームを 画 面 に 見 せる 26: } 27:} -3-

JPanel 中 間 コンテナ( 部 品 を 置 く 場 所 ) コンテントペイン c こんにちは add c.add で 配 置 アトミックコンポーネント ( 部 品 )<ボタン, 文 字 > (2)~(6) (7) トップレベルコンテナ の 作 成 (GUI を 表 示 するための 場 所.コンテントペイン) (8) こんにちは プログラム 内 の 処 理 の 流 れ レイアウト 方 式 1レイアウトの 方 法 プログラム(クラス)で 自 動 的 にレイアウトを 設 定 する 機 能 (レイアウトマネージャ) レイアウトマネージャ(コンテナ 内 のコンポーネント( 部 品 )の 相 対 位 置 を 決 める. 大 きさ, 位 置 を 制 御 する) (マウスによって)ウィンドウの 大 きさを 変 えても 自 動 的 に 大 きさを 変 えてくれる 2レイアウトマネージャの 設 定 コンテナにはデフォルトのレイアウトマネージャが 設 定 されている. 自 分 で 設 定 するには, Containerクラスの setlayoutメソッドを 利 用 する ( 引 数 はレイアウトクラスのオブジェクト) Containerc=getContentPane(); c.setlayout(newflowlayout(); L13(Helo.java) 3コンポーネントの 大 きさをの 決 定 ( 通 常 )コンポーネントの 大 きさはレイアウトマネージャが 調 整 して 決 定 する コンポーネントは 予 め, 最 大 サイズ(MaximunSize), 望 むサイズ(PreferedSize), 最 小 サイズ(Minimum Size)の 情 報 をもつ 自 分 でこれらの 大 きさを 設 定 したい 場 合 [ 方 法 1]Jcompontクラスの set***sizeメソッドを 利 用 する (ex) JPanelp=newJPanel(); p.setminimumsize(newdimension(150, 100); 最 小 サイズを 設 定 Dimensionクラス= コンポーネントの 幅, 高 さを 扱 う [ 方 法 2]JComponentのメソッド get***size()をオーバーライド (ex) Dimension getminimumsize(){ // 最 小 値 を 返 す returnnewdimension(150,100); } レイアウト 方 式 の 種 類 ( 後 に 具 体 的 な 処 理 例 ) (1) FlowLayout コンポーネントをPreferredSize 内 で 横 一 行 に 配 置 する.1 行 に 入 らなかった 場 合 は 複 数 行 に 渡 って 配 置 する. 少 数 のコンポーネントの 配 置 向 き コンポーネントの 入 れ 方 add(comp) (compはコンポーネントのオブジェクト) add(comp,2) (compはコンポーネントのオブジェクト,2は 配 置 する 位 置 ) -4-

(ex) setlayout(newflowlayout(flowlayout.left,10,20); 上 の add(comp)は レイアウトの 対 象 となるパネル( 張 り 付 く).add( 張 り 付 く 部 品 ) で 表 示 する (2)BorderLayout コンテナを5つの 領 域 ( 上 部, 下 部, 右, 左, 中 央 )に 分 けて,そのどこかにコンポーネントを 配 置 する. コンポーネントの 配 置 には add(comp, BorderLayout.NORTH) 上 は add( 配 置 するコンポーネント, 位 置 ) (3)GridLayout コンポーネントを 同 じ 大 きさの 格 子 状 に 縦 横 に 配 置 する. 格 子 高 さは 一 番 大 きな Prefered heightに, 幅 は 一 番 大 きな Prefered witdh となる. (ex)コンポーネントをn 行 で 配 置 した 場 合 setlayout(newgridlayout(n,0) (*,*)は 片 方 しか 有 効 でない( 行 優 先 ) 行 数 が 0でない 列 数 =(コンポーネント 数 + 行 数 1)/ 行 数 行 数 が 0 行 数 =(コンポーネント 数 + 列 数 1)/ 列 数 コンポーネント 数 が 10の 場 合 (10,3) の 場 合 列 =(10+10-1)/10=1 (0,5) の 場 合 行 = (10+5-1)/5=2.8=2 (4)BoxLayout コンポーネントを 上 から 下 へ,あるいは 左 から 右 への 配 置. コンストラクタで 並 べる 方 向 を 指 定. 個 々のコンポーネントの 大 きさが 優 先 される 各 コンポーネントの 大 きさが 異 なる 1 高 さ:preferredheightで 高 さを 自 動 的 にあわせる 2 幅 : 一 番 大 きな preferedwidthにそろえる.ただし,maximumsize 以 上 にはならない. 3コンポーネントの 揃 え: JComponent ク ラ ス の setalignmentx メ ソ ッ ド を 実 行 す る. 引 数 は JComponent.LEFT_ALIGNMENTなどを 設 定. 4 並 べる 方 向 : BoxLayoutの 第 2 引 数 (BoxLayout.Y_AXIS: 縦 方 向, BoxLayout.X_AXIS: 横 方 向 ) (ex)setlayout(newboxlayout(this, BoxLayout.Y_AXIS); (5) CardLayout コンテナに 複 数 のコンポーネントを 重 ねて 置 き, 順 次 ( 上 から)コンポーネントを 表 示 するレイアウトマネー ジャ. 複 数 のコンポーネントに 名 前 をつけて, 順 番 にコンテナを 入 れておく. CardLayoutのコンテナにコンポーネントを 入 れる 方 法 aadd(comp,name) aadd(comp,name,index) comp=コンポーネント, name=コンポーネントを 識 別 する 名 前, index=コンポーネントの 山 のどこに 入 れるかの 番 号 大 きさでは 最 大 の preferedheightと preferedweighにあわせる. (ex)slide1~5までの 文 字 列 を 貼 り 付 けた5 個 のラベルをCardLayoutパネルに 配 置 する -5-

JPanelp=newJPanel( ); CardLayoutlayout=newCardLayout(); p.setlayout(layout); for(inti=1;i<=5; i++){ p.add(newjlabel( SLIDE +i), SLIDE +i); } 次 のラベルを 表 示 する 場 合 :: layout.next(p); アイコンイメージの 表 示 アイコンの 貼 り 付 け アイコン = 固 定 サイズの 絵 (GIFあるいは JPEG 形 式 ) ファイルとして 存 在 する JButton,JLabelにアイコンを 貼 り 付 けられる 貼 り 付 ける 方 法 1イメージファイルを 指 定 して ImageIconのオブジェクトを 作 成 2JButtonのコンストラクタに 渡 す. ImageIcon icon =newimageicon( dance.gif ); // dance.gif がアイコン JButtonb=newJButon(icon); (あるいは JButton b=newjbutton(stringtext, Iconicon);など) JLabel l1=newjlabel(icon); // 教 科 書 P115 JLabel l2=newjlabel( 文 字, icon, SwingContents.Center); Swing コンポーネントの 種 類 ラベル JLabel: 文 字 列 とアイコン( 固 定 サイズの 絵 )を 表 示 するための 領 域 ( 入 力 は 受 け 付 けない) ボタン (1)AbstractButonクラス 押 す などの 操 作 により 処 理 が 行 われる 道 具 として 以 下 のクラス(AbstractButtonクラスのサブクラ ス)がある JButton,JcheckBox,JradioButon,JtoggleButon など 教 科 書 p101 図 10.2 参 照 のこと 具 体 的 なサブクラスの 例 ( 通 常,これらを 利 用 ) (2)JButton 文 字 列 とアイコンイメージを 貼 り 付 けられる 四 角 のボタン (3)JCheckBox 選 択 されている(true)か,いないか(false)の2つの 状 態 を 持 つボタン. 小 さな 四 角 でボタンを 選 択 すると チェックマークがつく JPanelクラス コンポーネントを 入 れるためにコンテナパネル. いくつかのコンポーネントをまとめてパネルに 配 置 することにより グループとして 扱 える. JPanelの 中 にコンポーネントを 入 れるためには Containerクラスから 継 承 した addメソッドを 使 う(デフ ォルトのレイアウトマネージャは FlowLayout) -6-

JFrame クラス JFrameのオブジェクトはウィンドウ(フレーム)である. ウィンドウは 境 界 線,タイトルやボタンを 持 った 画 面 枠 このクラスによって 画 面 上 に 表 示 するための 場 (Window)を 作 成 する (デフォルトのレイアウトマネージャは BorderLayout) JFrameはトップレベルコンテナに 相 当 する JFrame 上 のコンテントペインの 上 にコンポーネントを 置 く (1)JFrame 上 のコンテントペイン 上 にコンポーネントを 置 くには Container c=frame.getcontent(); //コンテントペインの 取 得 c.add(comp,border.) // compは 貼 り 付 けるコンポーネント (2)JFrameのインスタンスは 作 っただけでは 見 えないので setvisibleメソッドで 可 視 化 する (3)packメソッド フレームの 大 きさをコンポーネントの 望 むタイプを 表 示 するための 最 小 限 の 大 きさに する. コンポーネントの 色 とフォントの 設 定 ( 教 科 書 p123) 1. 色 の 設 定 (1) 背 景 色 (Background) (2) 描 画 色 (Foreground) 背 景 色 : JComponentの setbackground (colorc) 描 画 色 : JComponentの setforeground(colorc) 具 体 的 な 色 を 指 定 する 場 合 は Colorクラスのオブジェクトを 利 用 する setforeground(color,green) setforeground(newcolor(0,255,0) (**, **,**)は 左 からR( 赤 ),G( 緑 ),B( 青 )の 輝 度 を0~255 の 値 で 色 を 設 定 する (0,0,0) 黒, (255,25,255) 白 2.フォントの 指 定 文 字 フォントは JComponent の setfontメソッドを 利 用 する (ex) comp.setfont(newfont( Serif, Font.PLAIN,32); Layout マネージャーの 実 行 例 プログラムは 教 科 書 リスト 10.1 Hello.java を 利 用 /* BorderLayout */ setlayout(new BorderLayout( )); // 配 置 方 式 の 設 定 add(label, BorderLayout.NORTH); //ラベルを 置 く add(b1, BorderLayout.CENTER); //ボタンを 置 く add(b2, BorderLayout.EAST); //ボタンを 置 く -7-

/* FlowLayout */ setlayout(new FlowLayout(FlowLayout.LEFT, 10, 2)); // 配 置 方 式 の 設 定 ( 左 寄 せ, 部 品 間 の 水 平 方 向 の 隙 間 10, 垂 直 方 向 の 隙 間 2) add(label); // label の 配 置 add(b1,0); // b1 を 先 頭 に 配 置 add(b2); // b2 の 配 置 /* GridLayout */ setlayout(new GridLayout(2, 0)); // 配 置 方 式 の 設 定 (2 行 の 表 示 ( 列 は 部 品 数 で 決 定 するため 任 意 の 数 で 可 能 ) add(label); add(b1); add(b2); /* BoxLayout */ setlayout(new BoxLayout(this, BoxLayout.Y_AXIS)); // 配 置 方 式 の 設 定 (Y 方 向 に 表 示 ) add(label); add(b1); add(b2); /* CardLayout */ //-- フィールドに 以 下 を 追 加 static CardLayout layout; //-- Hello( ) 内 で 以 下 を 記 述 layout= new CardLayout(); setlayout(layout); // 配 置 方 式 の 設 定 add(label, "No.1"); // 引 数 第 2 項 によりコンポーネントの 名 前 を 設 定 add(b1, "No.2"); add(b2, "No.3"); //-- main( ) 内 で 以 下 を 記 述 for(int i=0;i<2;i++){ try{ Thread.sleep(2000); layout.next(h); }catch(exception e){ } } 2 秒 後 2 秒 後 -8-