package open.dolphin.stampbox; import java.io.BufferedReader; import java.io.StringReader; import java.util.List; /** * AspStampBox * * @author Kazushi Minagawa, Digital Globe, Inc. */ public class AspStampBox extends AbstractStampBox { /** Creates new StampBoxPlugin */ public AspStampBox() { } @Override protected void buildStampBox() { try { List<StampTree> aspTrees; try ( // Build stampTree BufferedReader reader = new BufferedReader(new StringReader(stampTreeModel.getTreeXml()))) { ASpStampTreeBuilder builder = new ASpStampTreeBuilder(); StampTreeDirector director = new StampTreeDirector(builder); aspTrees = director.build(reader); } stampTreeModel.setTreeXml(null); // StampTreeに設定するポップアップメニューとトランスファーハンドラーを生成する AspStampTreeTransferHandler transferHandler = new AspStampTreeTransferHandler(); // StampBox(TabbedPane) へリスト順に格納する for (StampTree stampTree : aspTrees) { stampTree.setTransferHandler(transferHandler); stampTree.setAsp(true); stampTree.setStampBox(getContext()); StampTreePanel treePanel = new StampTreePanel(stampTree); this.addTab(stampTree.getTreeName(), treePanel); } } catch (Exception e) { e.printStackTrace(System.err); } } }