それでは、java.awtの主要なcomponentを、まとめてbeansにしてみましょう。 まず、次のようなスクリプトでjavaのソースを生成します。先のMyButtonと同じく、 java.awtのクラスをそのまま使っています。
#!/bin/sh for name in Button Canvas Checkbox Choice Label List ScrollPane TextArea TextField do echo "public class My${name} extends java.awt.${name} {}" > My${name}.java done
こうして出来たソースを、javac *.java
でコンパイルします。
後は、manifestファイルを作って、JARファイルをつくるだけですが、これも 面倒なので次のようなスクリプトを作りました。
#!/bin/sh MANIFEST=manifest.tmp COMMAND=jar.sh echo -n "jar cvfm MultiBeans.jar $MANIFEST " > $COMMAND for name in Button Canvas Checkbox Choice Label List ScrollPane TextArea TextField do echo "Name: My${name}.class" >> $MANIFEST echo "Java-Bean: True" >> $MANIFEST echo "" >> $MANIFEST echo -n "My${name}.class " >> $COMMAND done
このスクリプトで、次のようなmanifestファイルが生成されます。
manifestファイル ================================================================== Name: MyButton.class Java-Bean: True Name: MyCanvas.class Java-Bean: True Name: MyCheckbox.class Java-Bean: True Name: MyChoice.class Java-Bean: True Name: MyLabel.class Java-Bean: True Name: MyList.class Java-Bean: True Name: MyScrollPane.class Java-Bean: True Name: MyTextArea.class Java-Bean: True Name: MyTextField.class Java-Bean: True ==================================================================
こうして、manifestファイルで指定すれば、一つのJARファイルに複数のbeansを 詰め込むことが出来ます。