Java.use(better,Python)《6.4》支援ツール:配列の`中身`を確認する

《こちらに移動中です》

2008年4月24日 (木)
記事一覧
Java.use(better, Python) # Jython 導入ガイド

------------ 序 ------------

ここで公開している記事は「キーワード検索」を利用するための便宜的なものです。詳細は、正式版(査読中)をダウンロードしてご覧ください。

【目次】関連記事
Python/Jython/Swing 入門〕Shall_we_Agile = Java.use(better, Python) # Swing
実際のアプリケーション開発を疑似体験できるように、問題解決に至るまでの紆余曲折を示しながら「繰り返し段階的に」技術を習得するための話題を提 供します。OOP〔Object-Oriented Programming〕を体得するには、五感を通してフィードバックが得られる論理的シミュレーションによって、現実世界を疑似体験するのが効果的で す。この連載で、Java の常識が壊れるかもしれませんが、OOP の可能性は広がります。

【注意】連載の主旨から「先に示したプログラムが後で覆される」事例が含まれます。次の展開(失敗から何を学ぶか/学ばないか)を予想しながら読み進むのも一興です。

------------ 本文 ------------

気軽に Swing〔6〕TransferHandler: DnD

Java.use(better,Swing=Jython) 〜 萬プログラマーのための Python 導入ガイド
本間りす、森こねこ〔著〕 小泉ひよ子とタマゴ倶楽部〔監修〕

■ 支援ツール:配列の`中身`を確認する

 先に紹介したツールでは、配列の状態を確認しようとすると、次のようなインスペクター(左:Before)が現われます。

 リスト項目にあるのは、配列型のインスタンスに関する情報です。しかし、インスペクターに期待するのは、器(コンテナー)ではなく中身(コンポーネント)の情報です。つまり、配列そのものではなく、配列が保持する各要素の情報が欲しいのです。この問題を解消する工夫をしたのが、改良したインスペクター(右:After)です。

■ 配列 jarray の状態を確認する

 先の【例題1a 】に次のコードの断片を挿入して、再実行してください。

    from cz16inspector import Inspector
    Inspector(iconView).show()

 すると、3つのラベルを配置したパネル iconView の状態を確認できます。


 1)リスト項目から components を選択すると、2) とあることから、それが Java の配列型のインスタンスだと分かります。この中には、先の例題を構成する3つのラベル JLabel インスタンスが、要素として含まれるはずです。3)ボタン 'inspect' を選択すると、新たなインスペクターが起動されます。すると、【例題1】を構成するバネル iconView に配置された、各ラベルの状態を確認できます。
 新たに起動したインスペクターのリスト項目には、3つの数字(0〜1)が並んでいます。これらは、配列の添字を表わします。そこで、4)リスト項目 0 を選択すると、配列の先頭にあるラベルの状態を確認できます。実際に、5)テキスト領域には、次のような情報が表示されます。

javax.swing.JLabel[,0,0,138x48,alignmentX=0.0,alignmentY=0.0,border=,flags=8388608,maximumSize=,minimumSize=,preferredSize=,defaultIcon=Flags/Japan.gif,disabledIcon=,horizontalAlignment=LEADING,horizontalTextPosition=TRAILING,iconTextGap=4,labelFor=,text=Japan,verticalAlignment=CENTER,verticalTextPosition=CENTER]

すると、画像アイコン defaultIcon=Flags/Japan.gif や、テキスト text=Japan などが存在することから、それが先頭に配置されたラベル(日本)だと分かります。
〈つづく〉

Last updated♪2009/07/27