2011-11-09 4 views
2

(viewport.setViewPositionを使用して)デフォルトのレイアウトマネージャを使用してJViewportを正しくスクロールしましたが、setLayout(null)を呼び出すとこれは機能しなくなりました。nullレイアウトのJViewports?

アイデア?

必要に応じてコードを提供できますが、現時点ではかなり面倒です。

ありがとうございます!

編集:これまでの情報に感謝します。私はnullレイアウトを使用しているので、後で描画するコンポーネントを絶対に配置することができます。レイアウトマネージャを使用している間に行うことができる方法はありますか?

+4

「私は魔法の杖を捨てましたが、今は私の呪文がどうして動かないのか不思議です。」 – kleopatra

答えて

7

スクロールペインは、スクロールペインに追加されたコンポーネントの推奨サイズがスクロールペインのサイズより大きい場合にのみ機能します。

nullレイアウトを使用する場合、優先サイズは0であるため、スクロールペインは機能しません。そのため、レイアウトマネージャを使用する必要があります。それはあなたのための好ましいサイズを決定します。

5

何らかの理由でsetLayout(null)を呼び出さないでください。

すべてのコンポーネントには、子のサイズと位置を決定するLayoutManagerが必要です。したがって、適切なLayoutManagerを使用するか、独自の実装を実装します。

-2

setLayout(null)を呼び出す場合は、 が必要です。子クラスごとにComponentクラスのsetboundsメソッドを呼び出します。 また、再描画メソッドを呼び出します。

+3

子供のsetBounds()メソッドはスクロールとは関係ありません。 – camickr