■
事例:コードの解説
$ jython2.5b3 -i exWalkUserObject.py class Model(object): def createNodes(self, path, parent, indent=0): for e in listdir(path): child = DefaultMutableTreeNode(UserObject(current)) if isdir(current): self.createNodes(current, child, indent+1)
current がフォルダー(ディレクトリー)isdir なら、ツリーの枝(branch)に位置するので、その傘下に子ノードを生成 createNodes する必要があります。
《Jython2.5》Tutorials - Classes and Objects
Java プログラマーのための Python 導入ガイド《記事一覧》
Tutorials - Classes and Objects
《著》小粒ちゃん《監修》小泉ひよ子とタマゴ倶楽部
第1版♪2003/05/23 ● 第2版♪2009/04/03
■ 概要
Java で記述したクラスに対して、Jython は便利な機能を提供します。
Java で作成したモジュールを、Jython の世界から覗くと、新たな可能性が広がります。 Jython を対話モードで起動すると、あたかも Java のインタープリターのように利用できます。 JavaBeans に準拠したクラスを利用するときに、Jython では洗練された表現が可能になります。 《Note》JPython1.1.x/Jython2.1.x 用に作成したセミナー課題を、Jython2.5 で再構成しました。
■ 関連記事
- Java/Python 導入ガイド:Swing/Jython2.5 - JTree - 続・ひよ子のきもち
- How to Use Trees, Creating a Tree ¶
》作業中です《
$ javac CreateObjectDemo.java $ ls CreateObjectDemo.class Point.class Rectangle.class CreateObjectDemo.java Point.java Rectangle.java $ java CreateObjectDemo Width of rectOne: 100 Height of rectOne: 200 Area of rectOne: 20000 X Position of rectTwo: 23 Y Position of rectTwo: 94 X Position of rectTwo: 40 Y Position of rectTwo: 72
■ 事例:クラス CreateObjectDemo
public class CreateObjectDemo { public static void main(String[] args) { //Declare and create a point object //and two rectangle objects. Point originOne = new Point(23, 94); Rectangle rectOne = new Rectangle(originOne, 100, 200); Rectangle rectTwo = new Rectangle(50, 100); //display rectOne's width, height, and area System.out.println("Width of rectOne: " + rectOne.width); System.out.println("Height of rectOne: " + rectOne.height); System.out.println("Area of rectOne: " + rectOne.getArea()); //set rectTwo's position rectTwo.origin = originOne; //display rectTwo's position System.out.println("X Position of rectTwo: " + rectTwo.origin.x); System.out.println("Y Position of rectTwo: " + rectTwo.origin.y); //move rectTwo and display its new position rectTwo.move(40, 72); System.out.println("X Position of rectTwo: " + rectTwo.origin.x); System.out.println("Y Position of rectTwo: " + rectTwo.origin.y); } }
Tips
各ノードには限られた情報しか提示できないので、どのような文字列にするかが鍵になります。
》作業中です《
Last updated♪09/05/23