かなり複雑なJTableサブクラス(WidgetTable
およびそのWidgetTableModel
)があり、テスト目的でダミーのJPanelに追加すると正常に機能します。
私はLayoutManagerを操作するのが非常に怖いので、すべてのレイアウト作業にNetBeansの組み込みGUIビルダーを使用するのが好きです。それから私は通常、自動生成された(GUIビルダー)コードをコードアラウンドするだけで、それは常に私のために働いてきました。それは両方の長所です。プレゼンテーションを思い通りに見せることができ、コンポーネントをきめ細かく制御することもできます。
ただし、GUIビルダーツールを使用してテーブルを作成したことはありません。昨夜しばらくそれをいじくり回した後、それはかなり基本的な(行の固定数、列の固定数など)JTablesを作成するためだけに適しているように見えます。
私WidgetTable
は実際には、行と列の両方の動的な数、特別なエディター/レンダラー、および他の多くのベルとホイッスルを持っています。
私の問題:
相反する制約が2つあります。(1)GUIビルダーを使用して、コンテナー内の希望する場所にテーブルを正確に配置およびサイズ変更する必要がありますが、(2)GUIビルダーで使用できるテーブルコンポーネントは基本的すぎて処理できません。WidgetTable
。
GUIビルダーを使用してコンテナーに「テーブルプレースホルダー」を設計する方法が必要です。NetBeansがそのプレースホルダーコードを自動生成したら、コードを微調整して、WidgetTables
代わりに動的にインスタンス化するように指示し、その場所とサイズを消費します。取り上げるプレースホルダーコンポーネントを定義しました。
このようにして、私は自分のケーキを持って、それも食べることができます。JComponents
唯一の問題は、GUIビルダーが、抽象をドラッグアンドドロップし、配置してサイズを変更し、コードベースの他の場所にサブクラスをプラグインするこの機能をサポートしていないと思います。
誰かが以前にこの問題を抱えているか、興味深い推奨事項がありますか?最善の方法は、袖をまくり上げてLayoutManagerを学ぶことだと思いますが、私は主にサーバー側の開発者であり、青い月に一度だけクライアント側にやって来ます。そして正直なところ、GroupLayoutとその不吉ないとこたちの複雑さと厄介さを学ぶエネルギーがありません。
助けてくれてありがとう!