• ベストアンサー

アプレットのPopupMenuをコードだけで消す方法

こんにちわ。yukimura1024です。 アプレットの、ある範囲にマウスカーソルが入ったらPopupMenuを表示する。その範囲からマウスカーソルが出たらPopupMenuを消す。という処理を作成しています。表示のほうはできますが、消すほうがうまくいきません。(PopupMenuではなくLabelならsetVisibleを使って消すことができました) どこかをクリックするかESCキーを押せばPopupMenuは消えるのですが、これをマウスの移動だけで行いたいのです。 いろいろと試しましたがなかなかうまくいきません・・・ ご存知の方、教えていたたければ幸いです。 よろしくお願い致します。

  • Java
  • 回答数2
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • chachax
  • ベストアンサー率100% (1/1)
回答No.2

自信なし PopupMenuは表示されたMenuの中から1つを選択しなければならいのではと考えます。(何らかの応答を必要としているにでは、dialogのmodalのように) menuの1つに閉じるを加えたら。 マウスの移動だけで表示/非表示を行うのならTooltipが相応しいのでは、更にmenuとしての機能を使用したいのであれば、カーソルの位置を入手し、該当する単語をtooptipの文字列から検索、識別する。 なお、カーソル位置の入手にの可否については、申し訳ありませんが知りません。 処理のイメージとして、書かせてもらいました。

yukimura1024
質問者

お礼

AWTなのでツールチップは使えませんでした(TT 結局自前でツールチップっぽい絵を描画することになりました。回答していただいてありがとうございました(^^

その他の回答 (1)

  • ngsvx
  • ベストアンサー率49% (157/315)
回答No.1

自信なしです。 表示の時には、何らかのコンテナに追加していると思います。 消去は、そのコンテナから削除したらどうでしょうか。

yukimura1024
質問者

補足

返答ありがとうございます。 アプレットは経験がなく苦戦していますが 表示したいタイミングで add(pop); としているので、消したいタイミングで remove(pop); と書いて試してみましたが消えません。 ESCキーを押しても消えるので、「ESCキーが押されたことにする」というコードを書いても出来そうなのですが、書き方が分かりません。。。 これについてはやり方をご存知でしょうか?

関連するQ&A

  • NetBeansを使ってアプレットを作成しています。

    NetBeansを使ってアプレットを作成しています。 作成したい内容は、 ・ペイントで作った「牧場」の絵を背景にする ・マウスを動かすと「ひよこの足跡」が表示される ・マウスをクリックすると「ひよこ」が表示される ・範囲を指定して、中央周辺でクリックすると「にわとり」が表示される ・「ひよこ」や「にわとり」の出現時に鳴き声も鳴るようにする (※「ひよこ」や「にわとり」の絵もペイントで作成します) どのイベントから作成していけばよいのやら… NetBeas初心者の私にはとても難しいです。 NetBeansに詳しい方がいましたら、 ご協力いただけると嬉しいです。 お願いします。

    • ベストアンサー
    • Java
  • アプレットがサーバにのっけると、動かない。

    java初心者です。 あるアプレットを作成(クリックすると画像が変わっていく)したのですが、自分のPC上で、ローカルでブラウザを起動させると正常にアプレットが動くのですが、それ(フォルダ全部)をまるごとサーバにのっけるとなぜかアプレットが正常に動作しません。 クリックしても画像が変わりません…。 ブラウザの下の表示には、アプレット Main Startedとなっています。 画像も最初の画像は問題なく表示されています。ただクリックしても次の画像に移りません。 よろしくお願いします。

    • ベストアンサー
    • Java
  • Excel VBA Escキー押下をコードで表わすと…

    Excel VBA Escキー押下をコードで表わすと… Excel2003を使用しています。 ある列をダブルクリックすると、指定した範囲のセルを塗りつぶすイベントマクロを作成しました。 ダブルクリックで塗りつぶされた後は、セルが編集状態になっているので、Escキーを押して編集状態を解除していましたが、Escキーを押して編集状態を解除するところまでをコードに書いたらどうかと思い、塗りつぶしを指定しているコードの後に、『SendKeys "{ESC}"』と追加してみたのですが、追加する前と同じ状況で、編集状態のままでした。 Enterや↓キーを押した場合を試しに書いてみると、塗りつぶされた後、1つ下のセルに移動しました。 コードを追加した場所がいけないのか、それとも、使い方が間違っているのか…?? どなたかわかる方がいらっしゃいましたら、教えていただけないでしょうか。 よろしくお願いします。

  • テキストボックス内でのカーソルの動きが逆に・・・

    Excel2007でテキストボックスを使ってコメントを付けていますが、文字を訂正する時に訂正箇所にマウスを持ってきてクリックしてからカーソルを表示させますが、その時、そのカーソルを右へ移動させたい場合、矢印キー(→)を押すと何故だかカーソルが左へ移動します。左へ移動させたい場合も矢印キー(←)を押すと右へ動いてしまいます。どこかの設定を触ってしまったのかもしれませんが、その設定箇所が分かりません。 どなたかお分かりの方がおられましたらよろしくお願いいたします。 セル内でのカーソル移動は問題なく左右キーとカーソルは同じ方向に動きます。  また、ここで作成したファイルをExcel2003で開いて同じことをやっても逆にならず正常に動きます。 初歩的な質問だと思いますが困ってます。 よろしくお願いいたします。

  • マウスカーソルを指定の画像を用いて変更するには?

    Javaアプレット上に表示されるマウスカーソルの変更方法についての質問です。 setCursorメソッドを用いての予め用意されたカーソルに変更するのではなく、特定の画像を使用してマウスカーソルを変更したいのですがどうすれば良いでしょうか? 自分では以下の様に試してみたのですがマウスカーソルは変更されませんでした。 JLabel label = new JLabel(); ImageIcon icon = new ImageIcon("image/icon.gif"); label.setIcon(icon); できればメソッド名だけでなく簡単なサンプルをつけて頂けると幸いです。 皆様宜しくお願い致しますm(_ _)m

    • ベストアンサー
    • Java
  • マウスを使わずに()の中に文字を入力する方法

    はじめまして。 (A)と入力する際、下記の操作をしています。 1、()を入力 2、数式バーをクリックする。 3、キーボードの矢印キーでカーソルを左に移動させて、()の中にカーソルをもってくる。 4、()の中にAを入力する。 2の【数式バーをクリックする】という操作は、数式バー(または入力中のセル)をクリックぜずに矢印キー(左)を押すと、カーソルではなく、セル自体が左に移動してしまうので行っています。 2の【数式バーをクリックする】という操作があると、キーボードからマウスに手を移動させなければならず手間です。 マウスを使わずに、キーボードのみで()の中に文字を入力する方法を教えてください。 よろしくお願い致します。

  • プログラミングの問題が分かりません。

    javaのプログラミングで分からない問題があり困っています。 お分かりになる方がいましたら教えてくださると助かります。 ↓問題です マウスイベントを利用した以下のアプレットを作れ. ▽アプレット領域は400×400 ▽マウスがアプレット領域に入ってきたら(MouseEntered),メッセージを表示 「こんにちは,宝探しするよ.好きな場所をクリックしてね」 ▽マウスがクリックされたら(MouseClicked),イベント処理  宝の場所(50×50)を適当に設置  その場所をクリックしたら,あたりでメッセージと宝箱を表示 「あたり! 宝を見つけたよ」&「宝箱の絵」  それ以外の場所をクリックしたら,はずれでメッセージを表示 「はずれ!」 ▽マウスがアプレット領域を出たら(MouseExited),メッセージを表示 「さよなら.また来てね」 よろしくお願いします。

  • フォーカスをキーボードで外す方法

    フォルダやファイルなど何かが選択された状態で、マウスを使うことなくキーボードの操作で「何も選択されていない状態」にすることは出来るでしょうか? キーボードについているコンテキストキーを押すと、マウスの右クリックと同じメニューが出てきます。 これを使うことで、例えばデスクトップ上の項目が何も選択されていない状態で コンテキストメニュー→新規作成→フォルダ とすることで新たなフォルダが作られ、名前の変更などが出来ます。 ここで問題となるのは、同じ操作でもう一つフォルダを作りたい時です。フォルダを作った時点でそのフォルダにフォーカスが当たっているため、その状態でコンテキストキーを押しても「そのフォルダ」に対するメニューが表示されてしまいます。また、矢印キーを押すと別の項目にフォーカスが移動しますが、「何も選択されていない状態」にすることはできません。 マウスを使って「何もないところ」をクリックすることで再び コンテキストメニュー→新規作成→フォルダ をすることは出来ますが、これだと新しいフォルダを連続して作る時、フォルダを作るたびにマウスに手を伸ばさないといけないのは面倒です。 長くなりましたが、再度質問です。 フォルダやファイルなど何かが選択された状態で、マウスを使うことなくキーボードの操作で「何も選択されていない状態」にすることは出来るでしょうか? 一番怪しそうな「Esc」キーは押してみたものの違うようです。 よろしくお願い致します。

  • EXcelのカーソルが表示できなくなっていましました?

    何かの操作していたときに、カーソルが表示されなくなってしまいました。どうすれば表示するのですか?教えて下さい。 普通、セルを囲んでいて、カーソル移動の矢印を上下左右に動かせば、それにつれてセルを囲んでいる四角(カーソル?)が上下左右に移動します。 どんな操作をしたのか分からないのですが、その四角(カーソル)は動かないで、シートそのものが上下左右に移動してしまいます。 マウスであるセルをクリックすると、四角い枠が表示されますが、カーソル移動矢印キーを押しても、シートが移動するだけで、四角い枠は動きません。 どうすれば、元に戻るのですか?どなたか教えて下さい。今、困っています

  • iアプリ:ラベル間の文字列操作について

    現在、iアプリを作成していて、困っています。 2個のラベル(label1,label2)を作成し、あるキーを押した時に 「label1」に「label2」に表示されている文字を移動させたい時には どうすれば良いのでしょうか? よろしくお願い致します。

専門家に質問してみよう