Java课程设计

上传人:ni****g 文档编号:497713626 上传时间:2022-11-06 格式:DOC 页数:16 大小:155.50KB
返回 下载 相关 举报
Java课程设计_第1页
第1页 / 共16页
Java课程设计_第2页
第2页 / 共16页
Java课程设计_第3页
第3页 / 共16页
Java课程设计_第4页
第4页 / 共16页
Java课程设计_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《Java课程设计》由会员分享,可在线阅读,更多相关《Java课程设计(16页珍藏版)》请在金锄头文库上搜索。

1、课 程 设 计 报 告学院、系:吉林大学珠海学院计算机科学与技术系专业名称:计算机科学与技术课程设计科目java程序课程设计学生姓名:陈舒韵指导教师:陈红玲完成时间:3月-7月(课程设计报告正文部分)题目3一、设计任务与目标编写一个窗口程序,该程序可以打开硬盘中的某个目录,并可以打开目录中某个文件进行浏览。设计要求:1)在界面上设计两个文本区,一个用于显示打开的硬盘上的目录,另一用于打开所选中该目录中的文件。2)设计文本框,用于显示当前的目录位置*3)设计一个“压缩”按钮,和一个指定目录文本框,将选中的这个文件压缩到指定的目录中。二、方案设计与论证 针对这道题的特点,首先做一个界面、构造一个目

2、录树模型,用swing做界面设计,JTree实现系统目录,界面内容包括显示目录的文本框、显示目录树形和显示目录中文件别表的两个文本区,分别设置监听器,监听目录树节点以及界面内的一个button,各个分功能对应各自的类。在做这道题时遇到最大的障碍就是实现系统文件目录树中涵盖了JTree的大部分属性,这部分知识课本上只略微提及了一下,参考了很多别人的程序,需要用到File fles = file.listFiles()这个技术(用以得到某文件夹下的子文件夹),目前为止自己也十分不熟悉,编写的很多程序都是直接挪用别人的。因为技术有限,显示目录文件的文本区最后只能做到显示目录文件名称,故最后第三问未能

3、完成。三、程序框图或流程图,程序清单与调用关系主界面显示目录路径显示树形目录显示目录文件构造目录树模型监听器四、全部源程序清单package kechengsheji;import java.awt.*;import java.awt.event.*;import java.io.*;import java.util.*;import javax.swing.*;import javax.swing.tree.*;import javax.swing.event.*;public class TiMu3 extends JFrame public static final ImageIcon

4、ICON_FOLDER = new ImageIcon(folder.gif);public static final ImageIcon ICON_COMPUTER = new ImageIcon(computer.gif);public static final ImageIcon ICON_DISK = new ImageIcon(disk.gif);public static final ImageIcon ICON_EXPANDEDFOLDER = new ImageIcon(expandedfolder.gif);protected JTree m_tree;protected D

5、efaultTreeModel m_model;/一个目录树模型protected JTextField m_display;/m_display就是显示目录的那个JTextFieldprotected JTextArea ta;public String s;public BufferedReader fin;public TiMu3() super(Directories Tree); setBounds(320, 100, 450, 400); DefaultMutableTreeNode top = new DefaultMutableTreeNode( new IconData(IC

6、ON_COMPUTER, null, Computer);/构造默认树形父节点,名字为Computer DefaultMutableTreeNode node;/定义父节点下边的节点 File roots = File.listRoots();/列出可用的文件系统根 for ( int k = 0 ; k roots.length; k + ) node = new DefaultMutableTreeNode(new IconData( ICON_DISK, null, new FileNode(rootsk);/从k=0开始建立新的节点 top.add(node);/在树形父节点下构造其孩

7、子节点 node.add( new DefaultMutableTreeNode(new Boolean(true);/在构造的孩子节点下构造字节点 m_model = new DefaultTreeModel(top);/以top节点为首节点建立一个目录树模型 m_tree = new JTree(m_model);/目录树以目录树模型m_model建立目录树 m_tree.putClientProperty(JTree.lineStyle, Angled); TreeCellRenderer renderer = new IconCellRenderer(); m_tree.setCell

8、Renderer(renderer); m_tree.addTreeExpansionListener(new DirExpansionListener();/添加响应 m_tree.addTreeSelectionListener(new DirSelectionListener();/添加响应 m_tree.getSelectionModel().setSelectionMode( TreeSelectionModel.SINGLE_TREE_SELECTION); m_tree.setShowsRootHandles(true); /设置显示源处理? m_tree.setEditable

9、(false); /界面设置 JScrollPane s = new JScrollPane();/新建一个滚动的Pane s.getViewport().add(m_tree);/把m_tree添加到滚动的Pane里去 add(s, BorderLayout.CENTER);/把s添加到JFrame的中区 m_display = new JTextField();/显示目录的文本区 Panel p = new Panel();/新建一个面板p p.setLayout(new BorderLayout(); p.add(m_display,BorderLayout.CENTER);/把文本区添

10、加到p的中区 Button b = new Button(确定);/新建一个“确定”按钮b b.addActionListener(new TT();/给Button添加监听器 p.add(b,BorderLayout.EAST);/把b添加到p的东区 add(p, BorderLayout.NORTH);/把p添加到JFrame的北区 ta=new JTextArea(12,12);/文本区用于打开所选中目录的文件 ta.setBackground(Color.yellow); JScrollPane s1 = new JScrollPane();/新建一个滚动的Pane(s1) s1.ge

11、tViewport().add(ta);/把ta添加到滚动的Pane(s1)里去 add(s1, BorderLayout.SOUTH);/把s1添加到JFrame的南区 WindowListener wndCloser = new WindowAdapter() public void windowClosing(WindowEvent e) System.exit(0); ; addWindowListener(wndCloser); setVisible(true); /end of structured method DefaultMutableTreeNode getTreeNode

12、(TreePath path) return (DefaultMutableTreeNode)(path.getLastPathComponent();/获取选中节点 FileNode getFileNode(DefaultMutableTreeNode node) if (node = null) return null; Object obj = node.getUserObject(); if (obj instanceof IconData) obj = (IconData)obj).getObject(); if (obj instanceof FileNode) return (F

13、ileNode)obj; else return null; / Make sure expansion is threaded and updating the tree model / only occurs within the event dispatching thread. class DirExpansionListener implements TreeExpansionListener public void treeExpanded(TreeExpansionEvent event) final DefaultMutableTreeNode node = getTreeNode( event.getPath(); final FileNode fnode = getFileNode(node); Thread runner = new Thread()

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号