whichのブログ ~プログラミング体験記~ -16ページ目

whichのブログ ~プログラミング体験記~

主にJava,vVsual C#,Andoroid,SQLについて
覚え基本た文法やプログラミング技法、各クラスの利用法を
忘れないように形にしたものです

初心者だとかプロだとか特に意識せず利用してもらえるとうれしいです。

■GUI開発の方法

GUI開発におけるプログラミングは、大きく分けて
  • デザイン設計
  • 機能設計
  • の2つの開発手法があります。
    機能設計とはGUI部品でイベント発生させたあと処理を呼び出してプログラムを実行するといった感じのアプリケーションの動作を実装することで、
    クラスを作ったりメソッドを用意したりするような今までのプログラミングです。
    一方 デザイン設計とはGUIアプリケーションのデザイン(見た目)を決めるものです。
    具体的には
  • 背景の設定
  • 入力・出力時の文字列のフォントスタイル(色・サイズ・書式)
  • 形(グラフィック加工の技術がいるのでめったにやらない)
  • 各部品の大きさ
  • 発生するイベントの決定
  • GUI部品の配置場所決定
  • ぐらいでしょう
    HTMLでいうところのCSSファイルがイメージが近いかもしれない?

    ■Colorクラス(パッケージソース: java.awt.Color)
    背景色と文字色を変更するには色情報が必要でありこの色情報を管理するクラスが「Colorクラス」である

    フィールド変数:static変数

    REDBLUEYELLOWGREENPINKORANGEWHITE
    赤色青色黄色緑色ピンク色オレンジ色白色

    BLACKLIGHT_GRAYDARK_GRAYGRAYCYANMAGENTA
    黒色明るい灰色暗い灰色灰色シアンマゼンダ
    英語名でも馴染み深いのでだいたい色のイメージがわかる基本13色が用意されています。
    オブジェクトの種類オブジェクト名引数説明
    コンストラクターColor(int r , int g , int b)RGB値(10進)引数の値のRGBの色を生成
    メソッドdecode(String code)#16進数の形式の文字列16進数6桁(あたまは#)でRGB値を生成して色を生成
    コンストラクタの場合は0~256の範囲で3桁のRGB値を生成するため、あまりおススメできない色の作り方である。 その点decode(String code)メソッドはHTMLと同じ形式のRGB値なためWebセーフカラー表など参考にできるため 割と簡単にイメージどおりの色ができる色見本サイトへのリンク(割と便利)
    今回は省略しますが他にもフォントのスタイルやサイズの設定できるFontクラスがあります。(コンストラクタでの操作がメイン)

    ■レイアウトマネージャ
    アプリケーションの使いやすさは機能面よりも操作しやすいよう配置された各部品です
    例えば、いくら高性能でもテキストボックスやボタンが全て横1列に配置されていて横長のウィンドウで初期起動するアプリケーションは不便です

    このためJavaのGUIでは部品を配置方法をあらかじめパターン化しておりこのような機能のあるクラスのことをレイアウトマネージャといいます
    (Compornentクラスから派生しているので他のクラスでの引数はCompornentクラス扱いになる)
    レイアウト名説明
    FlowLayoutデフォルト設定のレイアウト。中央揃えで配置していく。GridLayoutよりも左右対称に配置できる
    GridLayoutGUI部品を格子状に配置。縦と横の座標を指定して配置
    BorderLayout上下左右、中央の5つのエリアに画面を分割して配置する。
    GridBagLayout座標のみで部品を配置する。(VisualC#と同じ)しかしJavaではコーディング段階で座標設定するので使いづらい
    CardLayout表示エリアを1枚のカードで表しページ移動で部品が変化する(インストーラーによく用いる)
    これらのレイアウトはJPanelクラス配置パターンを設定するためのオブジェクトとして利用する。
    おそらくサンプルコードを使って利用方法を確認するので次回から本格的紹介する