
No.2ベストアンサー
- 回答日時:
自分がやったことないので恐縮ですが…
長押しの取得は、
java.awt.event.MouseEventの
「MOUSE_PRESSED」と「MOUSE_RELEASED」を受け取って、
その間の時間を測る…という方法ぐらいだと思います。
(MouseEvent、MouseListener、
java.awt.Component#addMouseListener()を参照ください)
時間を測定する方の処理ですが、これは面倒です。
「スレッドは身を滅ぼす」という格言もあるし。(←ないよ)
考えつくのは、
「(1)マウスが押されたら、スレッドを動かし、同時にフラグを立てる。
(2)マウスボタンが放されたらフラグをもとにもどす。
(3)スレッドの方を、100ミリ秒ぐらいのsleep()を挟んだ
ループにしておいて、毎回フラグを調べる。
30回フラグの状態が同じだったら、画面を開く処理を起動。」
「(1)マウスが押されたら、スレッドを動かす。
(2)スレッドの中で、あるオブジェクトにwait(3000)をする。
(3)マウスが放されたら、(2)のオブジェクトにnotify()をかける。
そして動きを解除する。
(4)notify()でなく再開したら、新しい画面を開く処理を起動」
このくらいですが、これらが妥当な方法かどうかは
わかりませんし、
自信もありません。すみません。
ついでに、「新しい画面を開く処理」は、DialogかFrameを生成して
setVisible(true)をすればいいと思います。
No.1
- 回答日時:
補足要求です。
(1)SwingではなくAWTを使うという前提ですね?
(2)ターゲットにしているJVMのバージョンを教えてください。
1.3以降なら、java.util.Timerが使えて
ちょっと楽になるのですが…。
説明不足していて大変すみません。
>(1)SwingではなくAWTを使うという前提ですね?
はい、そうです。
>(2)ターゲットにしているJVMのバージョンを教えてください。
JVMはPersonal Javaを使用しています、Personal JavaはJDK1.1です。
私の知りたいのは、ボタンにクリックしたらとか、プレスしたらとかのイベントは用意されているのですが、長押しした時のイベントはどのようにして取得すればよいのか?
Personal Javaを使用しているのでタイマーが使用できないと思われたので、スレッドかなと思いました。
もう一つは長押しされたときにまた別の画面を表示する方法が知りたいです。
お願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 格安スマホ・SIMフリースマホ OPPOリノ3aですが時々、知らぬ間に画面が真っ暗になっている時があり、電源ボタンを長押しして再起動 1 2022/05/23 11:20
- 格安スマホ・SIMフリースマホ OPPOリノ3aですが時々、知らぬ間に画面が真っ暗になっている時があり、電源ボタンを長押しして再起動 2 2022/05/23 11:18
- iPhone(アイフォーン) iPhone8使ってますか時々電源が勝手にオフになりますゲームなどしてる時、ホームボタン、電源ボタン 1 2023/02/23 03:44
- Excel(エクセル) excelvbaでスライドショーを作りたい 2 2023/04/20 14:32
- Android(アンドロイド) aquos wish2の挙動について 1 2023/03/26 20:56
- その他(動画サービス) あるエッチ動画サービスのボタンを押し間違ったばかりに、なぜか会員登録完了という画面が出てしまいました 6 2023/05/07 21:56
- iPhone(アイフォーン) iPhone14Pro買ったけど データ移行終わった!と思って画面を触ってもボタンを押しても画面は真 3 2022/09/21 23:35
- Visual Basic(VBA) VBAで早押しゲームを作りたい 4 2022/05/12 13:46
- iPhone(アイフォーン) iPhone の電源ボタンと音量ボタンを同時に長押しして開く緊急SOSと、ロック画面の「緊急」のボタ 2 2023/07/29 00:43
- Android(アンドロイド) dtab 電源がつかないのですが特殊な状況 助けてください 1 2022/04/08 01:01
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jdbcでinsert,delete,createをe...
-
プログラミングの問題です。大...
-
Googleログインボタンのデザイ...
-
JDONWROADER2のエラー修復
-
「main メソッドを持つクラスが...
-
Eclipse 動的プロジェクトで404...
-
正規表現について質問です。 カ...
-
スプレッドシートからリマイン...
-
googleスプレッドシートのスク...
-
googleスプレッドシートのGASに...
-
Verilogについて質問です。この...
-
論理回路設計をVerilogで行う問...
-
ゲーム開発の入門書を探しています
-
session,requestはjspで未定義...
-
サーブレットをapacheで公開す...
-
下記のリストならno002が含まれ...
-
is this even a thing?
-
JAの支部?地域の農協のカード...
-
えハミルトン路と全域木のちが...
-
CSV出力を画面から選択したデー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
JDONWROADER2のエラー修復
-
Googleログインボタンのデザイ...
-
配列にnullを代入すると、null...
-
jdbcでinsert,delete,createをe...
-
「main メソッドを持つクラスが...
-
プログラミングの問題です。大...
-
eclipseで作ったプログラムを他...
-
正規表現について質問です。 カ...
-
Eclipse 動的プロジェクトで404...
-
マイクラでPythonのプログラミ...
-
jdk17.06のインストーラーが起...
-
自作Androidアプリのデータ引き...
-
直し方について教えて頂きたい...
-
eclipse実行ができない
-
サーブレットをapacheで公開す...
-
あんまりお料理しないのに台所...
-
CSV出力を画面から選択したデー...
-
次のhtml・cssでspan内の文字を...
-
問題作成のWebアプリの作り方を...
-
ゲーム開発の入門書を探しています
おすすめ情報