学生向けにプログラミングを解説。次>>今まではAWTコンポーネントとして、Canvas、Frameなどを用いてプログラムを作成してきました。今回からはさらに別のコンポーネントを組み合わせたプログラム制作を行っていきます。コンポーネントとコンテナの役割を再度確認します。他のコンポーネントを配置できるコンポーネント。レイアウトマネージャーを使用することで、レイアウトを自由に変更できます。「Label」は、1行のテキストを配置するコンポーネントです。ラベルはテキストを設定することで適当なサイズに設定されます。ラベルのサイズを設定することで、「CENTER(中央揃え)」「LEFT(左寄せ)」「RIGHT(右寄せ)」でテキストを適当に表示することも出来ます。「getText()」で設定されているテキストを取得し、「setText(String)」でテキストを設定できます。ラベルの内容はプログラムでのみ設定できます。「Button」はラベルつきのボタンです。「getLabel()」でボタンのラベル(String)を取得でき、「setLabel(String)」でラベルの設定が行えます。Button("ボタン");ボタンが押されると、processEventを呼び出されActionEventが発生して、ActionListenerに通知されます。イベント処理は「actionPerformed()」に記述します。}}「Checkbox」は、選択(「オン」)か選択解除(「オフ」)ができるコンポーネントです。CheckboxGroupを使用してグループ化することで、グループ内のいずれか一つだけしか選択できないようにすることも可能です。「オン」「オフ」の状態は「getState()」で取得することが出来ます(返値がtrue=オン、false=オフ)。設定は「setState(boolean)」で設定します(booleanがtrue=オン、false=オフ)。ボタンと同様に「setLabel()」「getLabel()」も使用できます。true);Checkboxは「オン」「オフ」が選択されて状態が変わるとItemEventが発生して、ItemListenerに通知されます。イベント処理は「itemStateChanged()」に記述します。「List」は、テキスト項目のスクロールリストを表します。選択されていない項目をクリックすると選択状態になり、選択状態の項目をクリックすると選択解除状態になります。選択項目は設定により、ひとつでも複数項目でも取得できます。リストへの項目追加は「add(String)」を用います。選択されている値の取得の一例としては「getSelectIndex()」(返値は項目番号=int)や「getSelectedItem()」(返値は項目文字列=String)があります。getSelectedItems()」になります。選択項目を設定するには「Select(int)」を使用します。List(2);list.add("項目1");list.add("項目2");list.add("項目3");list.select(0);//Panel(後述)にListを配置。項目はスクロール化され2項目を表示p.add(list);項目の変化が起こるとItemEventが発生して、ItemListenerに通知されます。イベント処理は「itemStateChanged()」に記述します。項目をダブルクリックした場合はActionEventが発生して、ActionListenerに通知されます。イベント処理は「actionPerformed()」に記述します。「Choice」は、選択範囲のポップアップメニューです。選択された項目だけが表示されます。リストへの追加項目は「add(String)」を用います。選択されている値はListと同様に「getSelectedIndex()」(返値は項目番号=int)や「getSelectedItem()」(返値は項目文字列=String)などを使用します。Choice();choice.add("項目1");choice.add("項目2");項目の変化が起こるとItemEventが発生して、ItemListenerに通知されます。イベント処理は「itemStateChanged()」に記述します。「Panel」は、最もシンプルなコンテナで、初期設定のレイアウトマネージャーはFlowLayout(通常は左から右に、表示しきれない場合は上から下へ表示)です。中央=CENTER)で、通常「add()」するときに設定します。Northの位置に配置スクロールバーを実現するにはScrollbarを利用します。5つの項目を考慮する必要があります。これら項目は生成時に指定することも出来ますし、「set○○()」で指定することも可能です。「get○○()」で値を取得できます。つまみ幅」となりますので注意してください。このほかにスクロールバーの移動量は「setUnitIncrement(int)」で設定することが出来ます。scroller.getValue();Scrollbarは状態が変わるとAdjustmentEventが発生して、AdjustmentListenerに通知されます。イベント処理は「adjustmentValueChanged()」に記述します。}}スクロールペインは配置されたコンポーネントに対して、垂直(水平)のスクロールを付加するコンテナです。ScrollPaneは配置したコンポーネントの可視領域を適当に制御してくれます。ホールマウスによるホイールも使用可能です(不可にすることも出来ます)。初期設定では、スクロールバーが必要な場合だけ付加されますが、生成時などに指定することが出来ます。「SCROLLBARS_ALWAYS=常に表示」「SCROLLBARS_AS_NEEDED=必要な場合に表示」「SCROLLBARS_NEVER=表示しない」また、それぞれのスクロールバーの情報はScrollPaneのオブジェクトから取得できるjava.awt.ScrollPaneAdjustableクラスで行います。取得はgetHAdjustable()、getVAdjustable()です。最小値などの設定はScrollPane内部で適当に処理されているので再設定などはしないで下さい。//canvasを配置では、以下のサンプルプログラムを作成してみましょう。"East");frame.pack();frame.setVisible(true);}}実行してみます。前回作成した[MyFrame.java]を利用していますのでクローズボタンを使って終了できます。各項目を選択して、「start」を押すとキャンバスに選択した図形がランダムな位置に表示されます。OvalとRectは選択しただけで描画されてしまいます。「clear」を押すとキャンバスがクリアされます。「Quit」を押すとプログラムが終了します。一つ、Scrollbarで画面をスクロール表示させるサンプルプログラムを作ってっみましょう。"South");frame.pack();frame.setVisible(true);}}なお、このプログラムを実行するには、「contents01.jpg」ファイルが必要になります。[contents01.jpg]では、実行してみます。[MyFrame.java]を利用していますのでクローズボタンを使って終了できます。フレーム内に画像が表示されます。画像のサイズがフレームのサイズより大きいので、横に移動するスクロールバーが付いています。コマンドプロンプト上にスクロールバーの位置が表示されます。最後に、ScrollPaneで画面をスクロール表示するサンプルプログラムを作ってっみましょう。"Center");frame.pack();frame.setVisible(true);}}このプログラムを実行するためにも「contents01.jpg」ファイルが必要になります。[contents01.jpg]では実行してみます。[MyFrame.java]を利用していますのでクローズボタンを使って終了できます。フレーム内に画像が表示されます。画像のサイズがフレームのサイズより大きいので、横に移動するスクロールバーが縦と横に付いています。ここからは、Swingについて取り上げていきます。まとめはてなブログをはじめよう!MrRadiologyさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。