1、Java课程设计报告记事本Java课程设计报告专 业: 班 级: 姓 名: 学 号: 系 部: 目 录 2正 文 3一、设计内容和要求 3二、设计思路 4五、设计体会小结 21正 文Java文档编辑器是一个允许修改DefaultStyledDocument对象的应用程序。这些对象用于管理Swing文本组件(例如JTextPane和JTextArea)的内容。JTextPane用于显示DefaultStyledDocument的内容。通过改变与DefaultStyledDocument相关联的Style对象,能够改变 DefaultStyledDocument在 JTextPane中的显示方式。
2、此应用程序也能够将DefaultStyledDocument存储到磁盘上和读入以前存储的DefaultStyledDocument。读、写、操纵DefaultStyledDocument的所有选项都可以通过使用菜单项来实现。当这些菜单项被选中时,它们生成事件。使用ActionListener, ItemListener, UndoableEditListener和MenuDragMouseListener对象来处理这些事件。要求通过课程设计,使学生将掌握的Java语言基本知识应用于实践中,在实际练习中加深对Java语言各方面的知识和概念的理解,掌Java程序设计中编程方法、编程思想,深入理解J
3、ava语言在实际中的应用。要求学生动手上机编程,掌握Java程序设计思想和设计方法,设计实现一个简单Java文档编辑器,该编辑器由打开文件、新建文件、保存、复制、剪切、粘贴、撤销、删除等基本文本操作功能组件组成,有能力和时间的同学还可以设计实现如查找、时间、设置字体颜色、格式等功能,右键菜单响应,快捷键等功能,进一步加强自己的编程能力和编程思想。二、设计思路本程序设计主要大体流程为:开始,启动MainFunction的主函数main(),调用Loading方法启动dluThread 线程登陆界面,dluThread 线程结束后调用 MiniText()方法,调用 initTextPane(方法
4、初始化面板,调用initMenu()方法初始化菜单,调用initAboutDialog()方法初始化关于对话框,调用initToolBar()方法初始化工具栏,调用initRightKey()方法初始化右键设置,启动runtime线程创建动态时间按钮,点击文件菜单里的退出按钮或关闭窗口退出。基本流程图如下:图1基本流程图本Java文本编辑器功能设计如下:图2基本功能图三、具体实现3.1类设计主要有四个类:1.类MiniText ,包括 initTextPane方法初始化面板, initMenu()方法初始化菜单, initAboutDialog()方法初始化关于对话框, initToolBar
5、()方法初始化工具栏, initRightKey()方法初始化右键设置,等方法。类成员如下:2.类Loading (实现登陆)类成员如下: 3.类runtime (实现时间同步)类成员如下:4.类MainFunction (包含主函数)类成员如下:3.2主要功能代码实现(1).登陆界面class Loading extends JWindow implements Runnable Thread dluThread=null; private JProgressBar progress; public Loading() setCursor(Cursor.getPredefinedCursor
6、(Cursor.WAIT_CURSOR);/设置光标为等待状态 JPanel dlu = new JPanel(new BorderLayout(); URL url = getClass().getResource(/images/loading.jpg); if(url != null) dlu.add(new JButton(new ImageIcon(url), BorderLayout.CENTER); progress = new JProgressBar(1,100); progress.setStringPainted(true); progress.setBorderPain
7、ted(true); progress.setBackground(Color.white); progress.setForeground(Color.green); dlu.add(progress,BorderLayout.SOUTH); setContentPane(dlu); /设置窗口属性为登陆面板属性 Dimension screen = getToolkit().getScreenSize(); pack(); /显示登陆界面 setLocation(screen.width/4,screen.height/4); /设置登陆界面始终在屏幕中间显示 public void st
8、art() / this.toFront(); dluThread=new Thread(this); dluThread.start(); public void run() show(); try for (int i=0;i100;i+) Thread.sleep(100); progress.setValue(progress.getValue() + 1); progress.setString(欢迎进入迷你编辑,请稍后. . +i+%); catch (Exception ex) ex.printStackTrace(); dispose();/关闭登陆界面 (2). 时间标签 c
9、lass runtime extends JButton implements Runnable Thread datetime=null; public runtime() public void run() for(;) /java.util.Date timeer=new java.util.Date(); Calendar now=Calendar.getInstance(); int year1=now.get(Calendar.YEAR); int month1=now.get(Calendar.MONTH); int day1=now.get(Calendar.DAY_OF_MO
10、NTH); int hour1=now.get(Calendar.HOUR); int minute1=now.get(Calendar.MINUTE); int sec=now.get(Calendar.SECOND); setText(year1+年+month1+月+day1+日 +hour1+:+minute1+:+sec); /System.out.println(now.get(Calendar.DAY_OF_MONTH)-60); try Thread.currentThread().sleep(1000); catch(InterruptedException e) (3).
11、右键的实现: void initRightKey ()filepopup=new JPopupMenu();uundo=new JMenuItem(撤消(U);uundo.setMnemonic(U);ccut=new JMenuItem(剪切(T);ccut.setMnemonic(T);ccopy=new JMenuItem(复制(C);ccopy.setMnemonic(C);ppaste=new JMenuItem(粘贴(V);ppaste.setMnemonic(V);ddelete=new JMenuItem(删除(D);ddelete.setMnemonic(D);sselect
12、all=new JMenuItem(全选(A);sselectall.setMnemonic(A);filepopup.add(uundo);filepopup.addSeparator();filepopup.add(ccut);filepopup.add(ccopy);filepopup.add(ppaste);filepopup.add(ddelete);filepopup.addSeparator();filepopup.add(sselectall);uundo.addActionListener(action);ccut.addActionListener(action);ccop
13、y.addActionListener(action);ppaste.addActionListener(action);ddelete.addActionListener(action);sselectall.addActionListener(action);text.addMouseListener(new MouseAdapter() public void mousePressed(MouseEvent event) checkForTriggerEvent(event); public void mouseReleased(MouseEvent event) checkForTri
14、ggerEvent(event); public void checkForTriggerEvent(MouseEvent event) if(event.isPopupTrigger() filepopup.show(event.getComponent(),event.getX(),event.getY(); ); (4).打开、保存、复制、粘贴、撤销等功能事件响应实现:/事件处理 ActionListener action = new ActionListener() public void actionPerformed(ActionEvent e) JMenuItem mi = (JMenuItem)e.getSource(); String id = mi.getText(); if(id.equals(新建) Date date=new Date(); text.setText(date.toString(); file = null; else if(id.equals(打开.) if(file != null) filechooser.setSelectedFile(file);/为用户选择文件提供了一种简单的机制 int returnVal = filechooser.showO
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1