3

数か月前、Swing内でサイズ変更可能なコンポーネントを実装する方法を理解するために、この Swing チュートリアルhttp://zetcode.com/tutorials/javaswingtutorial/resizablecomponent/を読みました。

このチュートリアルでは、null LayoutManager を使用して、子コンポーネントを絶対配置できるようにする方法について説明しています。

別の主題に関する議論で、@Andrew Thompson は、null レイアウトを使用することは悪い考えであると指摘しました。この記事http://download.oracle.com/javase/tutorial/uiswing/layout/none.htmlでは、ヌル レイアウト マネージャーも望ましくないと説明していますが、特定の状況では が役立つ可能性があると述べています。

次のような状況で:

  1. JPanel の子コンポーネントの絶対配置が必要です
  2. 子コンポーネントに独自の境界ボックス条件を実装する必要があります (重複する可能性のある状況を確立するため)
  3. JPanel の子コンポーネントをサイズ変更可能にする必要があります

説明されている状況で、null レイアウト マネージャーを使用するのは正しいですか?

または、JPanel コンテナー コンポーネントのレイアウト マネージャーを使用してその目標を達成するための他のより良いソリューションはありますか?

前もって感謝します

4

1 に答える 1

2

最善の解決策はLayoutManager、探している機能とコントロールを使用して、独自のものを実装することです (または、ニーズに本当に近いものがある場合は、既存のものを拡張します)。絶対配置要件は、単にレイアウト マネージャーのメソッドになります。

たとえば、私は過去にFlowLayoutJScrollPane. ここに例を示しますが、これは私が使用したものと同じではありません。

于 2011-03-26T13:18:44.027 に答える