大作业报告期末考核副本Word文档下载推荐.docx
- 文档编号:7068358
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:23
- 大小:142.29KB
大作业报告期末考核副本Word文档下载推荐.docx
《大作业报告期末考核副本Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《大作业报告期末考核副本Word文档下载推荐.docx(23页珍藏版)》请在冰点文库上搜索。
五、参考资料以及文献
六、小组成员以及联系方式
一、软件系统分析和设计方案:
1、功能需求分析
为给使用者提供方便,文本编辑器应该至少用以下功能:
(1)所见即所得的文本输入功能
(2)基本的新建、打开、保存、另存为、退出功能
(3)方便的选中、复制、剪贴、粘贴、查找、替换等功能
(4)方便的快捷键以及右键弹出菜单功能
(5)另外,该软件支持拖拽功能,能将文件之间拖进来显示
2、基本设计思路以及类的划分:
(1)设计思路及步骤-----------界面设计
a、创建一个窗体,用于容纳需要显示的组件
b、定义六个菜单按钮File、Edit、Format、Search、Tools、Help,在定义一个JMenuItem类型的二维数组,并将其添加到相应的菜单上
c、定义一个菜单栏toolBar,在定义一个JButton类型的以为数组,并将其添加到toolBar上面
d、定义一个EditArea对象,将其放于窗体的中央
至此,效果图如下:
设计思路及步骤-----------功能设计
a、文件按钮可以被点选,当点击某个文件按钮时,会弹出当前文件按钮下的菜单项,并且每个菜单项也都添加上了事件响应
b、工具条上的每个图标按可以被点选,当单击某个图标的时候,会执行相应的操作
c、文本编辑框可以用来编辑、更改、删除等各种操作,可以改变文本的字体与颜色,可以设置背景色,并且右键单击鼠标时会弹出一个弹出菜单
d、可以直接将某个文本文件拖进文本框中显示
(2)类的设计--------关系图
类的设计--------主要方法以及属性
MainFrame
Variables:
styles:
menuBar:
JmenuBar
menus:
Jmenu[]
menuItems:
JmenuItem[]
toolBar:
JtoolBar
icons:
JButton[]
ii:
ImageIcons[]
splitPane1:
JsplitPane
splitPane2:
er:
EditArea
oa:
OutputArea
directoryArea:
DirectorWindow
Methods:
return:
MainFrame():
closeWindow():
void
actionPerformed(e:
ActionEvent):
EditArea
Varibles:
mf:
MainFrame
popuMenu:
JpopuMenu
clipboard:
Clipboard
popuItems:
JmenuItems[]
undo:
UndoManager
currentTextInTextArea:
String
findWord:
findWordLength:
int
findIndes:
int
replaceLength:
returns:
EditArea(mf:
MainFrame)
newFile():
openFile():
saveFile():
saveAs():
exit():
cut():
copy();
paste():
undo()void
find();
findNext():
replace():
help():
about():
Fon_Color_Frame
eaEditArea
Font_Color_frame
ActionEvent)void
itemStateChanged(e:
ItemEvent)void
FileTransferHandler
FileTransterHandler()
canImpot(c:
JCoponent,tflavors:
DataFlavor[]):
boolean
importDatac:
JCoponent,t:
Transferable):
OutputArea(未全部实现)
DirectoryWindow(未全部实现)
二、小组成员分工:
组长:
三、代码分析------拖拽功能
classFileTransferHandlerextendsTransferHandler{
privateEditAreaea=null;
publicFileTransferHandler(EditAreaea){
this.ea=ea;
}
//重写importData方法
publicbooleanimportData(JComponentc,Transferablet){
try{
//返回要被传输的数据
/*
*DataFlavor.javaFileListFlavor:
要将文件列表传入
*Java(及基础平台)或从中传出,需要使用此类型/子类型的*DataFlavor和java.util.List
*的表示形式类。
要求/保证列表的每个元素都是java.io.File类型。
*/
List<
?
>
files=(List<
)t
.getTransferData(DataFlavor.javaFileListFlavor);
addFilesToFilePathList(files);
returntrue;
}catch(UnsupportedFlavorExceptione){
e.printStackTrace();
}catch(IOExceptione){
}
returnfalse;
//重写canImport方法
publicbooleancanImport(JComponentc,DataFlavor[]flavors){
for(inti=0;
i<
flavors.length;
i++){
if(DataFlavor.javaFileListFlavor.equals(flavors[i])){
returntrue;
}
privatevoidaddFilesToFilePathList(Listfiles){
for(Iterator<
iter=files.iterator();
iter.hasNext();
){
Filefile=(File)iter.next();
if(file.exists()){
ea.currentFile=file;
Stringstr=null;
try{
FileReaderfr=newFileReader(file);
BufferedReaderbfr=newBufferedReader(fr);
if(ea.getText()!
=null)
ea.setText("
"
);
while((str=bfr.readLine())!
=null){
ea.append(str+"
\n"
}
}catch(Exceptionb){
}
}
代码分析------更改字体对话框
publicclassFont_Color_FrameextendsJFrameimplementsActionListener,
ItemListener{
//定义三个面板对象分别放窗体的北部,中间和南部
privateJPanelpUp,pDown,pCenter;
//定义字体设置,颜色设置两个面板对象,通过卡片布局的方式放在中间面板上
privateJPanelfPanel,cPanel;
//在字体设置面板上添加字体类型选择面板、字体样式选择面板和字体大小选择面板
privateJPanelfont_font,font_style,font_size;
privateJPanelpDown_test,pDown_fontTest,pDown_button;
privateJPanelcolor_reg,color_exact,color_test1,color_test2;
//获取系统字体
privateStringfont[]=GraphicsEnvironment.getLocalGraphicsEnvironment()
.getAvailableFontFamilyNames();
;
//定义用于设置字体样式数组
privateStringstyle[]=newString[]{"
Plain"
"
Italic"
Bold"
"
Italic&
};
//定义用于设置字体大小数组
privateStringsize[]=newString[]{"
8"
9"
10"
11"
12"
14"
16"
18"
20"
22"
24"
26"
28"
36"
48"
72"
//定义常用颜色数组
privateColorcolor[]=newColor[]{Color.red,Color.blue,Color.cyan,
Color.darkGray,Color.green,Color.lightGray,Color.magenta,
Color.orange,Color.pink,Color.yellow,Color.black,Color.white,
Color.gray};
//定义四个Button对象,分别为字体、颜色、确定、取消
privateJButtonjFont,jColor,jConfirm,jCancle;
//定义代表常用颜色的13个按钮数组
privateJButtonregColor[]=newJButton[13];
//定义用于手动设置精确的字体颜色的三个文本框
privateJTextFieldfont_font_jtf,font_style_jtf,font_size_jtf;
//定义显示字体格式化后的效果的标签
privateJLabelfontTestLabel;
privateJTextFieldcolorSet[]=newJTextField[]{newJTextField(3),
newJTextField(3),newJTextField(3)};
privateJButtonjbApply=null;
privateJCheckBoxjcb=null;
//定义一个CardLayout布局对象,用于字体设置面板和颜色设置面板之间的切换
//
privateMainFramemf=null;
privateCardLayoutcard=null;
//构造函数,完成一些初始化工作
publicFont_Color_Frame(EditAreaea,MainFramemf){
this.mf=mf;
jFont=newJButton("
字体"
jFont.addActionListener(this);
jColor=newJButton("
颜色"
jColor.addActionListener(this);
jConfirm=newJButton("
确定"
jConfirm.addActionListener(this);
jCancle=newJButton("
取消"
jCancle.addActionListener(this);
pUp=newJPanel();
pUp.add(jFont);
pUp.add(jColor);
pDown_fontTest=newJPanel();
pDown_fontTest.setLayout(newBorderLayout());
fontTestLabel=newJLabel("
AaBbCc123"
JLabel.CENTER);
pDown_fontTest.add(fontTestLabel,BorderLayout.CENTER);
pDown_fontTest.add(newJLabel("
Preview:
),BorderLayout.NORTH);
pDown_button=newJPanel();
pDown_button.add(jConfirm);
pDown_button.add(jCancle);
pDown_test=newJPanel();
pDown_test.setLayout(newBorderLayout());
pDown_test.add(pDown_fontTest,BorderLayout.NORTH);
pDown=newJPanel();
pDown.setLayout(newBorderLayout());
pDown.add(pDown_fontTest,BorderLayout.NORTH);
pDown.add(pDown_button,BorderLayout.CENTER);
font_font=newJPanel();
font_font.setLayout(newBorderLayout());
finalJListjFont=newJList(font);
jFont.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jFont.addMouseListener(newMouseAdapter(){
publicvoidmouseClicked(MouseEvente){
if(e.getClickCount()==1){
intindex=jFont.locationToIndex(e.getPoint());
Stringfamily=(String)jFont.getModel().getElementAt(
index);
font_font_jtf.setText(family);
fontTestLabel.setFont(newFont(family,fontTestLabel
.getFont().getStyle(),fontTestLabel.getFont()
.getSize()));
});
font_font_jtf=newJTextField(10);
font_font.add(newJLabel("
Font:
font_font.add(font_font_jtf,BorderLayout.SOUTH);
font_font.add(newJScrollPane(jFont),BorderLayout.CENTER);
font_style=newJPanel();
font_style.setLayout(newBorderLayout());
font_style_jtf=newJTextField(10);
finalJListjStyle=newJList(style);
jStyle.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
jStyle.addMouseListener(newMouseAdapter(){
intindex=jStyle.locationToIndex(e.getPoint());
Stringstyle=(String)jStyle.getModel().getElementAt(
font_style_jtf.setText(style);
if(font_style_jtf.getText().equals("
)){
fontTestLabel.setFont(newFont(fontTestLabel.getFont()
.getFamily(),Font.PLAIN,fontTestLabel
.getFont().getSize()));
}elseif(font_style_jtf.getText().equals("
.getFamily(),Font.ITALIC,fontTestLabel
.getFamily(),Font.BOLD|Font.ITALIC,
fontTestLabel.getFont().getSize()));
.getFamily(),Font.BOLD,fontTestLabel
font_style.add(newJLabel("
Style:
font_style.add(font_style_jtf,BorderLayout.SOUTH);
font_style.add(newJScrollPane(jStyle),BorderLayout.CENTER);
font_size=newJPanel();
font_size.setLayout(newBorderLayout());
font_size_jtf=newJTextField(10);
finalJListjSize=newJList(size);
jSize.setSelectionMode(ListSelectionModel.SINGLE_SE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大作业报告期末考核 副本 作业 报告 期末 考核