支援ツール:JPanel の状態を確認する
ここで、興味深い実験をしてみます。先の例題に、次のコードの断片を追加して、
def ex_BorderLayout():
view = JPanel(
layout=BorderLayout(),
)
...
Inspector(view).show() # Here goes! (@.@)
再実行すると、次のようなインスペクターが現われます。
すると、このインスペクターを使って、先の例題で追加した JPanel インスタンスの状態を確認できます。1)リスト項目から components を選択すると、2)
array(java.awt.Component,[javax.swing.JButton[,75,29,90x70,alignmentX=0.0,alignmentY=0.5,
border=apple.laf.AquaButtonBorder@51da4,flags=16777512,maximumSize=,minimumSize=,preferredSize=,
defaultIcon=,...,text=CENTER,defaultCapable=true],...
この配列の中には、JButton インスタンスが含まれ、そのひとつに text=CENTER とあることから、それが中央に配置されたボタンだと分かります。
支援ツール:JPanel.locationOnScreen の変化を確認する
再び、興味深い実験をしてみます。
まず、7)リスト項目から locationOnScreen を選択しておきます。次に、元のウィンドウを移動した後で、再びその状態をインスペクターで観察します。再び、8)リスト項目から locationOnScreen を選択すると、スクリーン座標が (0,44) から (68,94) へと変化したのが分かります。つまり、インスタンスの実行時の状態変化を、インスペクターで確認できるのが分かります。
《Tips》インスペクターは、アプリケーションとは独立したツールです。しかし、各インスペクターの挙動は、特定のアプリケーションと密接に関連します。そのため、任意のアプリケーションと組み合わせて再利用できます。また、アプリケーション開発の支援ツールであると同時に、学習の支援ツールとしても重宝します。マニュアルを参照するまでもなく、目の前のインスタンスのメンバー特性を確認できるので便利です。