2016-10-29 14 views
-1

ほとんどのマウスAPIでは天気をチェックでき、マウスボタンが押されたり離されたりすることはありません。例:Java-Swing-APIは、「クリック」イベントをチェックすることもできます。これは、「プレス」イベントの後に「リリース」イベントがトリガーされるたびにトリガーされる追加のイベントです。これが起こらないシナリオを想像してください。ボタンはいつクリックされますか?

一般的なマウスAPIを使用して独自のUIを実装するとき、一般ボタンに「クリック」を登録する方法が不思議です。私は先に進み、私が使用しているさまざまなプログラムで使用されているさまざまなUIをチェックしました。マウスボタンが上にリリースされると、どのボタンも「クリック」されたと感じました。

「リリース」される前にマウスボタンが上に「押し込まれる」必要はありません。ほとんどのマウスAPIには独自のドラッグされたイベントがありますが、「押した」イベントはそのアイテムを選択するために使用されるようですが、「押した」イベントは「ドラッグ」されるオブジェクトを捕捉しようとします。ドラッグする必要があります。

私はこれを書いているように、マウスがボタンの上に「押し込まれて」リリースされる前にボタンが押されていないと思われます。

質問1:私はここで何かを見逃しているのですか、私はこれらの観察で正しいのですか?

任意のUIのコンポーネントを管理-Classなど、「UI」は考慮する必要があるとして:

  • それはされている
  • コンポーネントに焦点を当てている
  • コンポーネントを描画するコンポーネントです"押した"と同じように "ドラッグされた"

「フォーカスされている」すべてのコンポーネントにマウスボタンが「リリース」されたときに「クリック」がトリガーされます。または、「押され」ていて、まだ「集中している」すべてのコンポーネントで「クリック」がトリガーされますか?

質問2/3:この実装は良いスタートになるのでしょうか、何か迷っていますか?どちらがいいですか?

+1

この質問はJavaとは関係ありません。私は実際にはC++でglfwライブラリを使ってすべてを実装しています! – salbeira

答えて

-1

質問1:

が押さ:あなたが

リリースマウスボタンを押し下げたときにイベントが生成されます:あなたは(前に押下された)、マウスボタンを離したときにイベントが生成され

Clicked:マウスボタンが押されたときにイベントが生成される&がリリースされました。

+0

これは、ドキュメントが述べていることと、私がすでに述べたことです。しかし、glfwライブラリで呼び出されたクリックイベントトリガ/コールバックはありません。ボタンが「押されていて解放された」とき、より明確に:「解放された」ときはいつですか?決して私は推測しない。だからそれをどう考える? – salbeira

関連する問題