2016-05-10 2 views
-1

サイズ変更可能なJavaスイングコンポーネント(JPanel)を作成する必要があるため、そのコンポーネントの境界線をクリックしてカーソルをドラッグして他の場所にドラッグすると、コンポーネントはマウス位置によってサイズが変更されます。これは簡単な解決策ですか?UIからのJavaスイングコンポーネントのサイズ変更

+0

[コンポーネントのサイズ変更](https://tips4java.wordpress.com/2009/09/13/resizing-components/)を参照してください。 – camickr

答えて

2

コンポーネントにMouseListenerを添付し、ボーダーとして定義したものがマウスで押されたかどうかを確認した後、マウスを押したメソッドのドラッグ開始時にマウスの位置を記録し、マウスの解放メソッドでコンポーネントのサイズを変更するドラッグの開始時と終了時にマウスの位置を減算します。

ドラッグ中に連続的なサイズ変更が必要な場合は、代わりにMouseInputListenerを使用し、マウスの押したメソッドでコンポーネントのサイズを記録し、マウス移動メソッドでサイズ変更を行います。

ボーダーも表示したい場合は、そのボーダーをコンポーネントに追加して、ボーダーにマウスリスナーを追加して、押されたイベントを取得したときにボーダーにいることを知ることができます。

関連する問題