快速业务通道

SWING?1ê??μí3???tê÷ - ±à3ìè???í?

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
e f=new File(rootPath); ???????? PathNode root=new PathNode(f.getName(), rootPath,f.isDirectory()); ???????? File[] files=f.listFiles(); ???????? for(int i=0;i<files.length;i++){ ???????????? PathNode node=new PathNode(files[i].getName(), files[i].getAbsolutePath (),files[i].isDirectory()); ???????????? root.add(node); ???????? } ???????? model=new DefaultTreeModel(root); ???????? tree.setModel(model); ???????? FileTreeRenderer renderer=new FileTreeRenderer(); ???????? tree.setCellRenderer(renderer); ???????? tree.repaint(); } ???? class FileTreeRenderer implements TreeCellRenderer{ ???????? private Icon folder_open=new ImageIcon("icons/folder_open.jpg"); ???????? private Icon folder_close=new ImageIcon("icons/folder_close.jpg"); ???????? private Icon file=new ImageIcon("icons/file.gif"); ???????? public Component getTreeCellRendererComponent(JTree tree, Object value, ???????????????? boolean selected, boolean expanded, boolean leaf, int row, ???????????????? boolean hasFocus) { ???????????? JLabel label = null; ?????????? if (value != null) { ???????????????? System.out.println(value.getClass().toString()); ???????????????? if(value instanceof PathNode){ ???????????????????? PathNode pathNode = (PathNode) value; ???????????????????? if (pathNode.isFolder()) { ???????????????????????? if (expanded) { ???????????????????????????? label = new JLabel(pathNode.getUserObject(). ?????????????????????????????????????????????? toString(), ?????????????????????????????????????????????? folder_open, JLabel.RIGHT); ???????????????????????? } else if(!expanded||leaf) { ???????????????????????????? label = new JLabel(pathNode.getUserObject(). ?????????????????????????????????????????????? toString(), ?????????????????????????????????????????????? folder_close, JLabel.RIGHT); ???????????????????????? } ???????????????????? } else { ???????????????????????? label = new JLabel(pathNode.getUserObject().toString(), ?????????????????????????????????????????? file, JLabel.RIGHT); ???????????????????? } ???????????????????? return label; ???????????????? } ?? ????????} ???????????? return label; ???????? } } ???? class PathNode extends DefaultMutableTreeNode{ ???????? Object value; ???????? boolean isFolder; ?????? public PathNode(String name,Object value,boolean isFolder){ ?????????? super(name); ?????????? this.value=value; ?????????? this.isFolder=isFolder; ???????? } ???????? public Object getValue(){ ?????????? return value; ???????? } ???????? public boolean isFolder(){ ???????????? return isFolder; ???????? } ???? } ???? public static void main(String args[]){ ?? ????JDHSystemFileTree tree=new JDHSystemFileTree(); ???????? // ?????·??×÷?Yê? ???????? tree.initData("D:/"); ???? } }

μ±è??éò???ò?2?êμ??????μ?ò×ó?D?£??íê??ú3?ê?μ??÷??oó£??ó??íê???°£?è?êó±ê±?3éμè′yμ?D?×′?£

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号