GUI開発におけるプログラミングは、大きく分けて
機能設計とはGUI部品でイベント発生させたあと処理を呼び出してプログラムを実行するといった感じのアプリケーションの動作を実装することで、
クラスを作ったりメソッドを用意したりするような今までのプログラミングです。
一方 デザイン設計とはGUIアプリケーションのデザイン(見た目)を決めるものです。
具体的には
HTMLでいうところのCSSファイルがイメージが近いかもしれない?
■Colorクラス(パッケージソース: java.awt.Color)
背景色と文字色を変更するには色情報が必要でありこの色情報を管理するクラスが「Colorクラス」である
フィールド変数:static変数
RED | BLUE | YELLOW | GREEN | PINK | ORANGE | WHITE |
---|---|---|---|---|---|---|
赤色 | 青色 | 黄色 | 緑色 | ピンク色 | オレンジ色 | 白色 |
BLACK | LIGHT_GRAY | DARK_GRAY | GRAY | CYAN | MAGENTA |
---|---|---|---|---|---|
黒色 | 明るい灰色 | 暗い灰色 | 灰色 | シアン | マゼンダ |
オブジェクトの種類 | オブジェクト名 | 引数 | 説明 |
コンストラクター | Color(int r , int g , int b) | RGB値(10進) | 引数の値のRGBの色を生成 |
メソッド | decode(String code) | #16進数の形式の文字列 | 16進数6桁(あたまは#)でRGB値を生成して色を生成 |
今回は省略しますが他にもフォントのスタイルやサイズの設定できるFontクラスがあります。(コンストラクタでの操作がメイン)
■レイアウトマネージャ
アプリケーションの使いやすさは機能面よりも操作しやすいよう配置された各部品です
例えば、いくら高性能でもテキストボックスやボタンが全て横1列に配置されていて横長のウィンドウで初期起動するアプリケーションは不便です
このためJavaのGUIでは部品を配置方法をあらかじめパターン化しておりこのような機能のあるクラスのことをレイアウトマネージャといいます
(Compornentクラスから派生しているので他のクラスでの引数はCompornentクラス扱いになる)
レイアウト名 | 説明 |
---|---|
FlowLayout | デフォルト設定のレイアウト。中央揃えで配置していく。GridLayoutよりも左右対称に配置できる |
GridLayout | GUI部品を格子状に配置。縦と横の座標を指定して配置 |
BorderLayout | 上下左右、中央の5つのエリアに画面を分割して配置する。 |
GridBagLayout | 座標のみで部品を配置する。(VisualC#と同じ)しかしJavaではコーディング段階で座標設定するので使いづらい |
CardLayout | 表示エリアを1枚のカードで表しページ移動で部品が変化する(インストーラーによく用いる) |
おそらくサンプルコードを使って利用方法を確認するので次回から本格的紹介する