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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: WebService大讲堂之Axis2(1):用POJO实现0配置的WebService - 编程入门网下一篇: WebService大讲堂之Axis2(7):将Spring的装配JavaBean发布成WebService - 编程入门网
关于SWING?1ê??μí3???tê÷ - ±à3ìè???í?的所有评论