学生向けにプログラミングを解説。PopupMenuの使用法と、サブメニューの作成を行います。+--java.awt.PopupMenuまずは、以下のサンプルプログラムを作成してみましょう。【AwtMenuDraw2.java】/***メニューで図形や色などを指定して「Start」で描画。複数の色で背景をクリア可能。}}「CheckboxMenuItem」は、選択(「オン」)か選択解除(「オフ」)ができるメニューアイテムです。基本機能はMenuItemを継承します。「オン」「オフ」の状態は「getState()」で取得することが出来ます(返値がtrue=オン、false=オフ)。設定は「setState(boolean)」で設定します(booleanがtrue=オン、false=オフ)。生成時に「オン」「オフ」を設定することも可能です。指定無しでで生成した場合は「オフ」になります。true);//menuにメニューアイテムを登録。//item2の状態を取得CheckboxMenuItemは「オン」「オフ」が選択されると、ItemEventがItemListenerに通知されます。イベント処理は「itemStateChanged()」に記述します。y)」メソッドを使用することで表示できます。ポップアップメニューは通常コンポーネントに配置します。ポップアップメニューがメニューバーなどに配置された場合はメニューと同様に扱われ「show()」メソッドは使用できません。ポップアップメニューの中の項目作成は、Menuと同様に行うことが可能です。生成したPopupMenuで指定されたラベルが表示されるかどうかはシステムに依存します。ポップアップメニューが表示される一般的な状況はコンポーネントでマウス操作されたときです(イベントはMouseEvent。通知リスナはjava.awt.event.MouseListener。実装するメソッドは5種類)。ポップアップメニューが表示される標準的な動作は、マウスの一番右のボタンを押すことです。Trigger()」を利用することをお勧めします。isPopupTrigger()はそのシステムでポップアップに適したマウスボタンの操作を関知してくれるものです。どのタイミングでisPopupTrigger()が発生するかは、システムによって異なるので、MouseListenerで実装するメソッドのうち、「mousePressed()」「mouseReleased()」「mouseClicked()」には全て、isPopupTrigger()の判定を入れておいた方がよいです。表示には「Popup.show()」を使用します。evt.getY());」となっています。引数は、そのコンポーネント上に表示させるかを示します。第2・第3引数は表示させるポップアップメニューの左上のx,y座標で、指定コンポーネント(キャンバス)の指定位置に表示します。この場合、マウスカーソルの位置をもとに表示させます。//内容は共通なのでメソッド化して、それを呼び出す。}}メニューの中にさらにメニュー項目を持つ場合も、MenuItemなどと同様の処理で行えます。subMenu.add(item2);//menuにsubMenuを登録menu.add(subMenu);スレッドを用いると、複数の処理を並行して行うことが可能です。場合によってスレッドの優先度を指定するにはsetPriority()メソッドを使用します。引数にはintの1〜10までを指定(優先度が高いのは10)しますが、一般的には、「MIN_PRIORITY」(1)、「NORM_PRIORITY」(5)、「MAX_PRIORITY」(10)を使用します。この優先度で実行されるわけではありませんので、多少注意が必要です。}}スレッドの終了時に値を表示したい場合などは、スレッドが終わるまで待機する必要があります。このときは、join()メソッドを利用します。}}ではサンプルプログラムを実行してみましょう。前回作成した[MyFrame.java]を利用していますのでクローズボタンを使って終了できます。メニューで図形や色などを指定して「Start」で描画します。複数の色で背景をクリア可能です。右クリックすると、ポップアップメニューが表示されます。ポップアップメニューの「Clear」でも画面クリアが出来ます。まとめはてなブログをはじめよう!MrRadiologyさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。