用Java程序编写一个记事本程序的设计报告Word下载.doc
- 文档编号:5298546
- 上传时间:2023-05-04
- 格式:DOC
- 页数:25
- 大小:526KB
用Java程序编写一个记事本程序的设计报告Word下载.doc
《用Java程序编写一个记事本程序的设计报告Word下载.doc》由会员分享,可在线阅读,更多相关《用Java程序编写一个记事本程序的设计报告Word下载.doc(25页珍藏版)》请在冰点文库上搜索。
类成员如下:
(2)类Loading(实现登陆)
类成员如下:
(3)类runtime(实现时间同步)
(4)类MainFunction(包含主函数)
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(){}
publicvoidrun(){
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.showOpenDialog(MiniText.this);
if(returnVal==JFileChooser.APPROVE_OPTION){
file=filechooser.getSelectedFile();
openFile();
}}
elseif(id.equals("
保存..."
intreturnVal=filechooser.showSaveDialog(MiniText.this);
saveFile();
JOptionPane.showMessageDialog(null,"
已保存"
}}
另存为"
if(file!
filechooser.setSelectedFile(file);
intreturnVal=filechooser.showSaveDialog(MiniText.this);
if(returnVal==JFileChooser.APPROVE_OPTION){
file=filechooser.getSelectedFile();
saveFile();
JOptionPane.showMessageDialog(null,"
}}
打印"
prt.printDialog();
}
打印页面设置"
try{
prt.print();
}catch(Exceptionew){
JOptionPane.showMessageDialog(null,"
打印出错!
"
错误"
JOptionPane.ERROR_MESSAGE);
}}
退出"
)){System.exit(0);
}elseif(id.equals("
剪切"
)||id.equals("
)){text.cut();
}elseif(id.equals("
复制"
text.copy();
粘贴"
text.paste();
}
elseif(id.equals("
删除"
text.replaceSelection("
}
选择全部"
text.selectAll();
字体颜色..."
color=JColorChooser.showDialog(MiniText.this,"
字体颜色设置"
color);
text.setForeground(color);
}elseif(id.equals("
自动换行"
)){}
撤销"
text.setText("
text.selectAll();
}
elseif(id.equals("
查找"
Stringfind="
find=JOptionPane.showInputDialog("
查找:
}
时间"
time.setFont(newFont("
TimesNewRoman"
Font.PLAIN,12));
text.insertComponent(time);
}
elseif(id.equals("
系统记事本"
try{
Stringcommand="
notepad.exe"
Processchild=Runtime.getRuntime().exec(command);
//从系统进程中调用记事本}
catch(IOExceptionex){}
系统计算器"
try{
calc.exe"
Processchild=Runtime.getRuntime().exec(command);
//调用系统计算器}
catch(IOExceptionex){}
}elseif(id.equals("
关于"
about.setSize(250,150);
about.show();
}}};
四、源程序
importjava.awt.*;
importjava.awt.event.*;
importjavax.swing.*;
importjava.io.*;
publicclassNotepadextendsJFrame{
//系统组件声明
privateJMenuBarmenuBar=newJMenuBar();
privateJEditorPanecontent=newJEditorPane();
privateJScrollPanescroll=newJScrollPane(content);
privateJFileChooserfilechooser=newJFileChooser();
privateBorderLayoutbord=newBorderLayout();
privateJLabelstatusBar=newJLabel();
privateJPanelpane=newJPanel();
privateFilefile=null;
//定义文件菜单
privateJMenufileMenu=newJMenu();
privateJMenuItemnewMenuItem=newJMenuItem();
privateJMenuItemopenMenuItem=newJMenuItem();
privateJMenuItemsaveMenuItem=newJMenuItem();
privateJMenuItemsaveAsMenuItem=newJMenuItem();
privateJMenuItempageSetupMenuItem=newJMenuItem();
privateJMenuItemprintMenuItem=newJMenuItem();
privateJMenuItemexitMenuItem=newJMenuItem();
//定义风格菜单
privateJMenustyleMenu=newJMenu();
privateButtonGroupstyleMenuGroup=newButtonGroup();
privateJRadioButtonMenuItemjavaStyleMenuItem=newJRadioButtonMenuItem();
privateJRadioButtonMenuItemmetalStyleMenuItem=newJRadioButtonMenuItem();
privateJRadioButtonMenuItemwindowsStyleMenuItem=newJRadioButtonMenuItem();
//定义帮助菜单
privateJMenuItemaboutMenuItem=newJMenuItem();
privateJMenuItemhelpTopicMenuItem=newJMenuItem();
privateJMenuhelpMenu=newJMenu();
//构造函数
publicNotepad(){
initComponents();
}
privatevoidinitComponents(){
//添加子菜单项到文件菜单
fileMenu.setText("
\u6587\u4ef6(F)"
newMenuItem.setText("
新建(N) Ctrl+N"
openMenuItem.setText("
打开(O)... Ctrl+O"
saveMenuItem.setText("
保存(S) Ctrl+S"
saveAsMenuItem.setText("
另存为(A)..."
pageSetupMenuItem.setText("
页面设置(U)..."
printMenuItem.setText("
打印(P)... Ctrl+P"
exitMenuItem.setText("
退出"
fileMenu.add(newMenuItem);
fileMenu.add(openMenuItem);
fi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Java 程序 编写 一个 记事本 设计 报告
![提示](https://static.bingdoc.com/images/bang_tan.gif)