私が取り組んでいるJavaプロジェクトでは、GridBagLayoutを使用してUIをレイアウトしています。UIのすべてのコンポーネントには、GridBagConstraintsがコンポーネントをUIに配置するために使用するx座標とy座標が関連付けられています。
UIの座標(x、y)に特定のコンポーネントを配置するメソッドaddAt(component、x、y、constraints)があります。
UIを設定するために次のことを行うのではなく、次のようにします。
addAt(component1, 3, 1, constraints);
addAt(component2, 3, 2, constraints);
addAt(component3, 3, 3, constraints);
addAt(component4, 3, 4, constraints);
各コンポーネントの座標をオブジェクト自体に保存したいので、次のようになります。
addAt(component1, constraints);
addAt(component2, constraints);
addAt(component3, constraints);
addAt(component4, constraints);
これを行うための現在のアプローチは、使用しているすべてのJComponentの基本クラスをオーバーライドし、メソッドgetXCoord()およびgetYCoord()を使用してインターフェースを実装することです。
JComponentsにはgetX()メソッドとgetY()メソッドがあることを確認しましたが、これらのメソッドの目的は、私が目指しているものとは異なります。
したがって、基本的に、上記の情報を前提として、個々のJComponentのオーバーライドされたバージョンを作成するよりも、この機能を実装するためのよりクリーンな方法はありますか?ここで明らかな何かが欠けている場合は、お詫び申し上げます。