Java课程设计报告记事本Word文档下载推荐.docx

上传人:b****2 文档编号:15152572 上传时间:2022-10-28 格式:DOCX 页数:31 大小:654.50KB
下载 相关 举报
Java课程设计报告记事本Word文档下载推荐.docx_第1页
第1页 / 共31页
Java课程设计报告记事本Word文档下载推荐.docx_第2页
第2页 / 共31页
Java课程设计报告记事本Word文档下载推荐.docx_第3页
第3页 / 共31页
Java课程设计报告记事本Word文档下载推荐.docx_第4页
第4页 / 共31页
Java课程设计报告记事本Word文档下载推荐.docx_第5页
第5页 / 共31页
点击查看更多>>
下载资源
资源描述

Java课程设计报告记事本Word文档下载推荐.docx

《Java课程设计报告记事本Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《Java课程设计报告记事本Word文档下载推荐.docx(31页珍藏版)》请在冰豆网上搜索。

Java课程设计报告记事本Word文档下载推荐.docx

JTextPane用于显示DefaultStyledDocument的内容。

通过改变与DefaultStyledDocument相关联的Style对象,能够改变DefaultStyledDocument在JTextPane中的显示方式。

此应用程序也能够将DefaultStyledDocument存储到磁盘上和读入以前存储的DefaultStyledDocument。

读、写、操纵DefaultStyledDocument的所有选项都可以通过使用菜单项来实现。

当这些菜单项被选中时,它们生成事件。

使用ActionListener,ItemListener,UndoableEditListener和MenuDragMouseListener对象来处理这些事件。

要求通过课程设计,使学生将掌握的Java语言基本知识应用于实践中,在实际练习中加深对Java语言各方面的知识和概念的理解,掌Java程序设计中编程方法、编程思想,深入理解Java语言在实际中的应用。

要求学生动手上机编程,掌握Java程序设计思想和设计方法,设计实现一个简单Java文档编辑器,该编辑器由打开文件、新建文件、保存、复制、剪切、粘贴、撤销、删除等基本文本操作功能组件组成,有能力和时间的同学还可以设计实现如查找、时间、设置字体颜色、格式等功能,右键菜单响应,快捷键等功能,进一步加强自己的编程能力和编程思想。

二、设计思路

本程序设计主要大体流程为:

开始,启动MainFunction的主函数main(),调用Loading方法启动dluThread线程登陆界面,dluThread线程结束后调用MiniText()方法,调用initTextPane(方法初始化面板,调用initMenu()方法初始化菜单,调用initAboutDialog()方法初始化关于对话框,调用initToolBar()方法初始化工具栏,调用initRightKey()方法初始化右键设置,启动runtime线程创建动态时间按钮,点击文件菜单里的退出按钮或关闭窗口退出。

基本流程图如下:

图1基本流程图

本Java文本编辑器功能设计如下:

图2基本功能图

三、具体实现

3.1类设计

主要有四个类:

1.类MiniText,包括initTextPane方法初始化面板,initMenu()方法初始化菜单,initAboutDialog()方法初始化关于对话框,initToolBar()方法初始化工具栏,initRightKey()方法初始化右键设置,等方法。

类成员如下:

2.类Loading(实现登陆)

类成员如下:

3.类runtime(实现时间同步)

4.类MainFunction(包含主函数)

3.2主要功能代码实现

(1).登陆界面

classLoadingextendsJWindowimplementsRunnable{

ThreaddluThread=null;

privateJProgressBarprogress;

publicLoading(){

setCursor(Cursor.getPredefinedCursor(Cursor.WAIT_CURSOR));

//设置光标为等待状态

JPaneldlu=newJPanel(newBorderLayout());

URLurl=getClass().getResource("

/images/loading.jpg"

);

if(url!

=null){

dlu.add(newJButton(newImageIcon(url)),BorderLayout.CENTER);

}

progress=newJProgressBar(1,100);

progress.setStringPainted(true);

progress.setBorderPainted(true);

progress.setBackground(Color.white);

progress.setForeground(Color.green);

dlu.add(progress,BorderLayout.SOUTH);

setContentPane(dlu);

//设置窗口属性为登陆面板属性

Dimensionscreen=getToolkit().getScreenSize();

pack();

//显示登陆界面

setLocation(screen.width/4,screen.height/4);

//设置登陆界面始终在屏幕中间显示

publicvoidstart(){

//this.toFront();

dluThread=newThread(this);

dluThread.start();

publicvoidrun(){

show();

try{

for(inti=0;

i<

100;

i++){

Thread.sleep(100);

progress.setValue(progress.getValue()+1);

progress.setString("

欢迎进入迷你编辑,请稍后......"

+i+"

%"

}}

catch(Exceptionex){

ex.printStackTrace();

dispose();

//关闭登陆界面}}

(2).时间标签

classruntimeextendsJButtonimplementsRunnable{

Threaddatetime=null;

publicruntime(){}

for(;

;

){

//java.util.Datetimeer=newjava.util.Date();

Calendarnow=Calendar.getInstance();

intyear1=now.get(Calendar.YEAR);

intmonth1=now.get(Calendar.MONTH);

intday1=now.get(Calendar.DAY_OF_MONTH);

inthour1=now.get(Calendar.HOUR);

intminute1=now.get(Calendar.MINUTE);

intsec=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(InterruptedExceptione){}}}}

(3).右键的实现:

voidinitRightKey(){

filepopup=newJPopupMenu();

uundo=newJMenuItem("

撤消(U)"

uundo.setMnemonic('

U'

ccut=newJMenuItem("

剪切(T)"

ccut.setMnemonic('

T'

ccopy=newJMenuItem("

复制(C)"

ccopy.setMnemonic('

C'

ppaste=newJMenuItem("

粘贴(V)"

ppaste.setMnemonic('

V'

ddelete=newJMenuItem("

删除(D)"

ddelete.setMnemonic('

D'

sselectall=newJMenuItem("

全选(A)"

sselectall.setMnemonic('

A'

filepopup.add(uundo);

filepopup.addSeparator();

filepopup.add(ccut);

filepopup.add(ccopy);

filepopup.add(ppaste);

filepopup.add(ddelete);

filepopup.add(sselectall);

uundo.addActionListener(action);

ccut.addActionListener(action);

ccopy.addActionListener(action);

ppaste.addActionListener(action);

ddelete.addActionListener(action);

sselectall.addActionListener(action);

text.addMouseListener(newMouseAdapter(){

publicvoidmousePressed(MouseEventevent){

checkForTriggerEvent(event);

publicvoidmouseReleased(MouseEventevent){

}publicvoidcheckForTriggerEvent(MouseEventevent){

if(event.isPopupTrigger()){

filepopup.show(event.getComponent(),event.getX(),event.getY());

}}});

(4).打开、保存、复制、粘贴、撤销等功能事件响应实现:

//事件处理

ActionListeneraction=newActionListener()

{

publicvoidactionPerformed(ActionEvente)

{JMenuItemmi=(JMenuItem)e.getSource();

Stringid=mi.getText();

if(id.equals("

新建"

)){

Datedate=newDate();

text.setText(date.toString());

file=null;

}elseif(id.equals("

打开..."

if(file!

=null)

filechooser.setSelectedFile(file);

//为用户选择文件提供了一种简单的机制

intreturnVal=filechooser.showO

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 哲学历史

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1