2011-07-12 22 views
11

特定のコンポーネントのレイアウト情報を印刷する方法が1つあります。私は一つの方法があることを知っていたが、私はその名前を忘れてしまった。Java Swingレイアウトをデバッグする方法

Swingコンポーネントでこのメソッドを呼び出すと、そのコンポーネントのレイアウト情報がdumpstacktrace呼び出しのように詳細に表示されます。

そのメソッド名は何ですか?私は1つの本でそれを読んだが、それを忘れた。または、Java Swingレイアウトをデバッグするための良い方法を教えてください。

+0

getLayout()を意味しますか? –

答えて

15

スイングをデバッグするためのビジュアルツールは、Swing Explorerです。これにはNetbeansとEclipse用のプラグインも含まれています。 Swingコンポーネントのツリーをナビゲートすることができ、非常に便利です。

+3

IDEAで私のために働かなかった13 –

+4

リンクが壊れています。そして私はmarketplace.eclipse.orgでプロジェクトを見つけることができません。 – Nateowami

+0

Swing Explorerが非常に古いため、プロジェクトが終了しています。 –

2

各コンテナ(これにはすべてのJComponentsが含まれます)には、このコンポーネントに設定されているレイアウトマネージャを返すgetLayout()メソッドがあります(設定されていない場合はnullです。 getComponents()を使用して、保持されているコンポーネントの配列を返すこともできます。すべてのレイアウトマネージャを表示するには、保持されているすべてのコンポーネントを調べ、Containerから継承していることを確認してから上記のメソッドを呼び出す再帰メソッドを作成する必要があります。

5

私は実行時にキープレスでこれを行うことができる特定の方法について知らない。

は、ページを見てみましょう:Troubleshooting AWT

それは、次のデバッグのヒントを提供:AWTコンポーネント階層は、Ctrl + Shiftキー+ F1をダンプするには

を。

はまた、「レイアウトに関する問題」セクションの下にレイアウトデバッグのために他のヒントを提供し、あなたのJFrameが見えるプレスCtrl + Shiftキー+ F1となると「トラブルシューティングスイング」

29

をスイングする専用の別のセクションがありますコンポーネントとレイアウトのツリー階層のコンソール出力を参照してください。

+0

デバッグ時にウィンドウの上にある – shareef

+0

@shareefをデバッグするときに、スイングウィンドウを意味するかどうかを調べることはできません。 – Nateowami

関連する問題