java编写的记事本.docx
- 文档编号:9428915
- 上传时间:2023-05-19
- 格式:DOCX
- 页数:29
- 大小:111.35KB
java编写的记事本.docx
《java编写的记事本.docx》由会员分享,可在线阅读,更多相关《java编写的记事本.docx(29页珍藏版)》请在冰点文库上搜索。
java编写的记事本
实验报告
课程名称记事本程序
专业班级软件班
姓名
学号
电气与信息学院
和谐勤奋求是创新
实验教学考核和成绩评定办法
1.课内实验考核成绩,严格按照该课程教学大纲中明确规定的比重执行。
实验成绩不合格者,不能参加课程考试,待补做合格后方能参加考试。
2.单独设立的实验课考核按百分制评分,考核内容应包括基本理论、实验原理和实验。
3.实验考核内容包括:
1)实验预习;2)实验过程(包括实验操作、实验记录和实验态度、表现);3)实验报告;权重分别为0.2、0.4、0.4;原则上根据上述三个方面进行综合评定。
学生未取得1)和2)项成绩时,第3)项成绩无效。
4.实验指导教师应严格按照考核内容分项给出评定成绩,并及时批改实验报告,给出综合成绩,反馈实验中出现的问题。
实验成绩在教师手册中有记载。
实验报告主要内容
一.实验目的
二.实验仪器及设备
三.实验原理
四.实验步骤
五.实验记录及原始记录
六.数据处理及结论
七.实验体会(可选项)
注:
1.为了节省纸张,保护环境,便于保管实验报告,统一采用A4纸,实验报告建议双面打印(正文采用宋体五号字)或手写,右侧装订。
2.实验类别指验证、演示、综合、设计、创新(研究)、操作六种类型实验。
3.验证性实验:
是指为了使学生巩固课程基本理论知识而开设的强调演示和证明,注重实验结果(事实、概念或理论)的实验。
4.综合性实验:
是指实验内容涉及本课程的综合知识或本课程相关的课程知识的实验。
5.设计性实验:
是指给定实验目的、要求和实验条件,由学生自行设计实验方案并加以实现的实验。
实验题目
实验室
实验时间
年月日
实验类别
同组人数
成绩
指导教师签字:
一、系统设计
一):
设计思想:
本程序中首先设计了一个菜单栏,菜单上添加了菜单,然后把JTextArea文本编辑区添加到当前面板上,设计过程中使用了JFielChooser类,用来打开文件和保存文件,使用了JDialog,用来创建查找对话框,和字体对话框。
二):
功能设计
本程序构建的记事本工具主要有以下几种功能:
(1)菜单中有“文件”、“编辑”、“格式”、“查看”,“帮助”四个主菜单;
(2)“文件”菜单中有”新建”,“打开”,“保存”,“另存为”,“退出”子菜单,分别用来新建文件,打开文件,保存文件。
退出记事本。
(3)“编辑”菜单有“撤销”,“复制”,“剪切”,“粘贴”,“删除”,“时间/日期”子菜单。
(4)可以再记事本中写日志,可以对其进行保存,删除,复制,剪切,粘贴操作。
(5)文本区可以右键弹出编辑菜单。
三)、
类的实现:
Jishiben类:
构造方法:
Jishiben();
功能方法:
xinjin();open();save();asave();close();rvoke();cut();copy();paste();
Replace();turn();allselect();linewrap();fontset().
SeekDialog类:
find();showSeek().
Myfind类;find();showReplace(),getBFind().
FontChooserDialog类
二、程序界面截图
1:
主界面:
2、打开文件:
3、另存为
4、退出
5、
6、查找
7、
8、日期
9、字体
二、程序代码
1、Jishiben类
packagetxt;
importjava.awt.GraphicsEnvironment;
importjavax.swing.JDialog;
importjavax.swing.JFrame;
importjavax.swing.ListModel;
importjava.awt.Font;
importjavax.swing.JPanel;
importjava.awt.Rectangle;
importjavax.swing.JScrollPane;
importjavax.swing.BorderFactory;
importjavax.swing.border.TitledBorder;
importjava.awt.Color;
importjavax.swing.JList;
importjavax.swing.JLabel;
importjava.awt.event.KeyAdapter;
importjava.awt.event.KeyEvent;
importjava.awt.event.WindowAdapter;
importjava.awt.event.WindowEvent;
importjavax.swing.JTextField;
importjavax.swing.border.BevelBorder;
importjavax.swing.border.SoftBevelBorder;
importjavax.swing.JButton;
importjavax.swing.SwingConstants;
publicclassFontChooserDialogextendsJDialog{
privatestaticfinallongserialVersionUID=1L;
/**
*界面设计需要
**/
privateJPaneljPanel=null;
privateJScrollPanejScrollPane=null;
privateJPaneljPanel1=null;
privateJLabeljLabel=null;
privateJLabeljLabel1=null;
privateJLabeljLabel2=null;
privateJTextFieldfontNameText=null;
privateJTextFieldfontItalicText=null;
privateJTextFieldfontSizeText=null;
privateJListfontNameList=null;
privateJListfontItalicList=null;
privateJListfontSizeList=null;
privateJPaneljPanel2=null;
privateJButtonokButton=null;
privateJButtonregitButton=null;
privateJButtoncancleButton=null;
privateJScrollPanejScrollPane1=null;
privateJScrollPanejScrollPane2=null;
privateJScrollPanejScrollPane3=null;
privatestaticJLabelfontStyle=null;
/**
*字体默认变量
**/
privateFontdefaultFont=newFont("\u5b8b\u4f53",Font.PLAIN,12);
/**
*返回字体变量
**/
privatestaticFontreturnFont=null;
/**
*Boolean变量,判断是否正常返回,是否用户选择了字体
**/
privatestaticbooleanjudge=false;
privatebooleannameJuge=true;
privatebooleansizeJuge=true;
publicFontChooserDialog(){
this(null);}
publicFontChooserDialog(JFramejframe){
this(jframe,true);}
publicFontChooserDialog(JFramejframe,booleanboo){
this(jframe,boo,null);}
publicFontChooserDialog(JFramejframe,booleanboo,Fontfont){
super(jframe,boo);
initialize();
initializeFont(font);
this.setLocationRelativeTo(jframe);
}
privatevoidinitialize(){
this.setContentPane(getJPanel());
this.setFont(newFont("\u5b8b\u4f53",Font.PLAIN,12));
this.setBounds(newRectangle(0,0,430,335));
this.setTitle("字体选择对话框");
this.addWindowListener(newWindowAdapter(){
publicvoidwindowClosing(WindowEvente){
judge=false;
closeWindow();
}
});
}
publicstaticFontshowDialog(JFramejframe,booleanboo){
returnshowDialog(jframe,boo,null);
}
publicstaticFontshowDialog(JFramejframe,booleanboo,Fontfont){
JDialogjd=newFontChooserDialog(jframe,boo,font);
jd.setVisible(true);
if(judge){returnFont=fontStyle.getFont();}
jd.dispose();
returnreturnFont;
}
privateJPanelgetJPanel(){
if(jPanel==null){
jPanel=newJPanel();
jPanel.setLayout(null);
jPanel.setFont(newFont("Dialog",Font.PLAIN,12));
jPanel.add(getJPanel1(),null);
jPanel.add(getJPanel2(),null);
jPanel.add(getOkButton(),null);
jPanel.add(getRegitButton(),null);
jPanel.add(getCancleButton(),null);
}
returnjPanel;
}
/**
*ThismethodinitializesjScrollPane
*
*@returnjavax.swing.JScrollPane
*/
privateJScrollPanegetJScrollPane(){
if(jScrollPane==null){
fontStyle=newJLabel();
fontStyle.setText("你好!
天生我才必有用!
HelloWorld!
");
fontStyle.setFont(newFont("\u5b8b\u4f53",Font.PLAIN,12));
fontStyle.setHorizontalAlignment(SwingConstants.CENTER);
fontStyle.setHorizontalTextPosition(SwingConstants.CENTER);
jScrollPane=newJScrollPane();
jScrollPane.setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED));
jScrollPane.setViewportView(fontStyle);
jScrollPane.setBounds(newRectangle(5,20,400,60));
}
returnjScrollPane;
}
privateJPanelgetJPanel1(){
if(jPanel1==null){
jLabel2=newJLabel();
jLabel2.setBounds(newRectangle(285,5,120,15));
jLabel2.setFont(newFont("\u5b8b\u4f53",Font.PLAIN,12));
jLabel2.setText("大小:
");
jLabel1=newJLabel();
jLabel1.setBounds(newRectangle(160,5,120,15));
jLabel1.setFont(newFont("\u5b8b\u4f53",Font.PLAIN,12));
jLabel1.setText("字型:
");
jLabel=newJLabel();
jLabel.setBounds(newRectangle(5,5,150,15));
jLabel.setDisplayedMnemonic(KeyEvent.VK_UNDEFINED);
jLabel.setFont(newFont("\u5b8b\u4f53",Font.PLAIN,12));
jLabel.setText("字体:
");
jPanel1=newJPanel();
jPanel1.setLayout(null);
jPanel1.setBounds(newRectangle(5,5,410,175));
jPanel1.setBorder(newSoftBevelBorder(SoftBevelBorder.LOWERED));
jPanel1.add(jLabel,null);
jPanel1.add(jLabel1,null);
jPanel1.add(jLabel2,null);
jPanel1.add(getFontNameText(),null);
jPanel1.add(getFontItalicText(),null);
jPanel1.add(getFontSizeText(),null);
jPanel1.add(getJScrollPane1(),null);
jPanel1.add(getJScrollPane2(),null);
jPanel1.add(getJScrollPane3(),null);
}
returnjPanel1;
}
privateJTextFieldgetFontNameText(){
if(fontNameText==null){
fontNameText=newJTextField();
fontNameText.setBounds(newRectangle(5,25,150,20));
fontNameText.setFont(newFont("\u5b8b\u4f53",Font.PLAIN,12));
fontNameText.addKeyListener(newKeyAdapter(){
publicvoidkeyTyped(KeyEvente){
StringoldText=fontNameText.getText();
StringnewText="";
if("".equals(fontNameText.getSelectedText())&&null==fontNameText.getSelectedText()){
newText=fontNameText.getText()+e.getKeyChar();
}else{
newText=oldText.substring(0,fontNameText.getSelectionStart())+e.getKeyChar()+oldText.substring(fontNameText.getSelectionEnd());
}
System.out.println("fontName:
"+newText);
nameJuge=false;
fontNameList.setSelectedValue(getLateIndex(fontNameList,newText),true);
nameJuge=true;
}
});
}
returnfontNameText;
}
/**
*ThismethodinitializesfontItalicText
*
*@returnjavax.swing.JTextField
*/
privateJTextFieldgetFontItalicText(){
if(fontItalicText==null){
fontItalicText=newJTextField();
fontItalicText.setBounds(newRectangle(160,25,120,20));
fontItalicText.setFont(newFont("\u5b8b\u4f53",Font.PLAIN,12));
fontItalicText.setEnabled(false);
}
returnfontItalicText;
}
privateJTextFieldgetFontSizeText(){
if(fontSizeText==null){
fontSizeText=newJTextField();
fontSizeText.setBounds(newRectangle(285,25,120,20));
fontSizeText.setFont(newFont("\u5b8b\u4f53",Font.PLAIN,12));
fontSizeText.setColumns(4);
fontSizeText.addKeyListener(newKeyAdapter(){
publicvoidkeyTyped(KeyEvente){
//System.out.println("KeyCode:
"+(Character.getNumericValue(e.getKeyChar())==-1));
StringoldText=fontSizeText.getText();
StringnewText="";
if("".equals(fontSizeText.getSelectedText())&&null==fontSizeText.getSelectedText()){
newText=fontSizeText.getText()+e.getKeyChar();
}else{
newText=oldText.substring(0,fontSizeText.getSelectionStart())+e.getKeyChar()+oldText.substring(fontSizeText.getSelectionEnd());
}
//System.out.println("fontSize:
"+newText);
sizeJuge=false;
fontSizeList.setSelectedValue(getLateIndex(fontSizeList,newText),true);
if(newText.matches("(\\d)+")){
fontStyle.setFont(newFont(fontStyle.getFont().getFontName(),fontStyle.getFont().getStyle(),Integer.parseInt(newText)));
}
sizeJuge=true;
}
});
}
returnfontSizeText;
}
/**
*ThismethodinitializesfontNameList
*
*@returnjavax.swing.JList
*/
privateJListgetFontNameList(){
if(fontNameList==null){
fontNameList=newJList(GraphicsEnvironment.getLocalGraphicsEnvironment()
.getAvailableFontFamilyNames());
fontNameList.setFont(newFont("\u5b8b\u4f53",Font.PLAIN,12));
fontNameList
.addListSelectionListener(newjavax.swing.event.ListSelectionListener(){
publicvoidvalueChanged(javax.swing.event.ListSelectionEvente){
if(nameJuge){fontNameText.setText(fontNameList.getSelectedValue().toString());}
fontStyle.setFont(newFont(fontNameList.getSelectedValue().toString(),fontStyle.getFont().getStyle(),fontStyle.getFont().getSize()));
}
});
}
returnfontNameList;
}
/**
*ThismethodinitializesfontItalicList
*
*@returnjavax.swi
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 编写 记事本