検索
ホームページJavaJAVA: ボタンが押されたときに境界ペイン内のオブジェクトを移動します

php エディター Xinyi は今日、ボタンを押したときに枠線ペイン内のオブジェクトを移動するという興味深い Java プログラミング テクニックを紹介します。この手法により、ユーザー インターフェイスに対話性が追加され、ユーザーはボタンをクリックしてオブジェクトを移動できるようになります。この関数の実装方法は比較的単純で、ボタンのクリックイベントをリッスンし、イベント処理メソッドでオブジェクトの位置を更新するだけです。このようにして、より鮮明で興味深いインターフェイス エクスペリエンスをユーザーに提供できます。以下に、この手法の実装プロセスを詳しく紹介します。

質問内容

ペイン内に円を作成し、画面下部のボタンを使用して円を移動する宿題を行っています。ペインに円とボタンを表示させることはできますが、ボタンを押しても円が動きません。

私の主な方法は次のとおりです:

リーリー

円を移動する実際の方法はこちらです:

リーリー

ballcontrol メソッドの目的は、円を移動するとウィンドウの境界を越えるかどうかを確認し、そうでない場合は移動することです。しかし、ボタンを押しても円は動きません。

回避策

borderpane は「レイアウト ペイン」です。つまり、独自のアルゴリズムに従って子ノードをレイアウトします。特に、ノードがサイズ変更可能で、その最小サイズ、最大サイズ、推奨サイズで指定された制約内にある場合、borderpanecenter 領域内のノードを拡張して全体を埋めます。領域を指定し、その領域内の中央に配置します。 circle はサイズ変更できないため、その領域の中央にのみ配置されます。

円の centerx および centery 座標を変更しても、ここでは役に立ちません。円のレイアウト境界は、約 20x20 ピクセルの長方形になります (半径が 10 であるため、これは円を含む最小の長方形。ストロークには余分なスペースが必要な場合があるため、ここでは「ほぼ」とします)。長方形は中心半径から始まり中心半径まで広がる座標系を持ちますが、境界ペインのレイアウト ポリシーに従って中心領域の中心に配置されます。実際、円の中心の座標は変化しますが、これらの座標は円自体の座標系にのみ存在し、境界ペインの座標系には存在しません。

1 つの解決策は、レイアウトを実行しない通常の pane で円を囲み、paneborderpane の中央に配置することです。 pane はサイズ変更可能なため、borderpane は中央領域のフルサイズにサイズ変更します。 pane 円はレイアウトされていないため、追加のレイアウトを行わずに、centerxcentery で定義された座標に残ります。 (実際には、円の座標系をペインの座標系と同じにします。) これは、以下のコードで使用している解決策です。

もう 1 つの解決策は、円の translatex プロパティと translatey プロパティを操作することです。これらの変換はレイアウト後に適用されます。 ただし、この解決策では、円がコンテナの境界から出ないようにすることがより複雑になります。 (以下のコードではこの解決策を示していません。)

詳細については、レイアウト ドキュメントを参照してください。

これを機能させるための変更は次のとおりです。ウィンドウのサイズが変更されても機能するように、境界の計算方法も変更したことに注意してください。

リーリー

以上がJAVA: ボタンが押されたときに境界ペイン内のオブジェクトを移動しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はstackoverflowで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境