ImageVerifierCode 换一换
格式:DOCX , 页数:47 ,大小:240.42KB ,
资源ID:30720323      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/30720323.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(java记事本课程设计.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

java记事本课程设计.docx

1、java记事本课程设计 JAVA语言课程设计报告题 目:记事本的制作设 计 者: 刘兴钢专业班级:信管07班学 号:* 2010年 12 月 24 日河南理工大学计算机学院1、系统需求分析1.1系统名称: Window记事本1.2系统介绍: 开发一个window记事本,主要有一个主界面及以下功能:1:文件的新建,打开,保存,打印,另存等;2:对文件的编辑,如全选,复制,剪切,粘贴等;3:对文件的格式操作,如自动换行,字体等;4:帮助,包括帮助主题,关于。1.3开发环境 Eclipse2系统总体设计2.1 系统功能结构图2.2系统文件结构图2.3系统编辑结构图2.4系统格式、帮助结构图3 系统详

2、细设计3.1.主界面主界面主要是用于对选择相应的功能进行相应的功能,主界面主要包括文件,编辑,格式,帮助四个下拉菜单功能。重要代码:创建界面,安装各种监听器 public Notebook() setTitle(记事本 - 刘兴钢); con=getContentPane(); text=new JTextArea(); JSPane=new JScrollPane(text); createMenu(); createPopupMenu(); setJMenuBar(mainMenuBar); con.add(JSPane,BorderLayout.CENTER); text.setComp

3、onentPopupMenu(popMenu); text.getDocument().addDocumentListener(this); text.addKeyListener(new handleKey(); text.addMouseListener(new handleMouse(); setSize(400,300); setVisible(true); 菜单代码 public void createMenu() /创建JMenuBar mainMenuBar=new JMenuBar(); /创建四个JMenu fileMenu=new JMenu(文件); editMenu=n

4、ew JMenu(编辑); formatMenu=new JMenu(格式); helpMenu=new JMenu(帮助); 3.2.字体设计界面主要代码import java.awt.event.*;import javax.swing.*;import javax.swing.event.*;import java.awt.*;public class fontDialog extends JDialog implements ActionListener,ListSelectionListener public static final int Cancle=0; public sta

5、tic final int OK=1; public static final String style=正常,斜体,粗体,粗斜体; public static final String size=8,9,10,11,12,14,16, 18,20,22,24,26,28,36,48,72; private Font userFont=null; private int userSelect=Cancle; private JFrame parent=null; private Container con; private JScrollPane nameSPane,styleSPane,si

6、zeSPane; private JPanel panel; private JLabel nameLbl,styleLbl,sizeLbl; private JTextField nameText,styleText,sizeText; private JList nameList,styleList,sizeList; private JButton OKBtn,cancleBtn; public fontDialog() this(null); public fontDialog(JFrame owner) super(owner,true); parent=owner; setTitl

7、e(字体); con=getContentPane(); BoxLayout box=new BoxLayout(con,BoxLayout.Y_AXIS); con.setLayout(box); panel=new JPanel4; for(int i=0;i3;i+) paneli=new JPanel(); paneli.setLayout(new GridLayout(1,3); panel3=new JPanel(); panel3.setLayout(new FlowLayout(); nameLbl=new JLabel(字体); styleLbl=new JLabel(字形)

8、; sizeLbl=new JLabel(大小); panel0.add(nameLbl); panel0.add(styleLbl); panel0.add(sizeLbl); nameText=new JTextField(宋体); nameText.setColumns(5); nameText.setEditable(false); styleText=new JTextField(正常); styleText.setColumns(5); styleText.setEditable(false); sizeText=new JTextField(12); sizeText.setCo

9、lumns(5); sizeText.setEditable(false); panel1.add(nameText); panel1.add(styleText); panel1.add(sizeText); GraphicsEnvironment eq = GraphicsEnvironment.getLocalGraphicsEnvironment(); String availableFonts= eq.getAvailableFontFamilyNames(); nameList=new JList(availableFonts); nameList.addListSelection

10、Listener(this); nameSPane=new JScrollPane(nameList); styleList=new JList(style); styleList.addListSelectionListener(this); styleSPane=new JScrollPane(styleList); sizeList=new JList(size); sizeList.addListSelectionListener(this); sizeSPane=new JScrollPane(sizeList); panel2.add(nameSPane); panel2.add(

11、styleSPane); panel2.add(sizeSPane); OKBtn=new JButton(确定); OKBtn.addActionListener(this); cancleBtn=new JButton(取消); cancleBtn.addActionListener(this); panel3.add(OKBtn); panel3.add(cancleBtn); for(int i=0;i4;i+) con.add(paneli); public int showFontDialog() setSize(300,300); int x,y; if (parent!=nul

12、l) x=parent.getX()+30; y=parent.getY()+30; else x=150; y=100; setLocation(new Point(x,y); setVisible(true); return userSelect; public Font getFont() return userFont; public void actionPerformed(ActionEvent e) int styleIndex=Font.PLAIN,fontSize; if(e.getSource()=OKBtn) if(styleText.getText().equals(正

13、常) styleIndex=Font.PLAIN; if(styleText.getText().equals(斜体) styleIndex=Font.ITALIC; if(styleText.getText().equals(粗体) styleIndex=Font.BOLD; if(styleText.getText().equals(粗斜体) styleIndex=Font.BOLD | Font.ITALIC; fontSize=Integer.parseInt(sizeText.getText(); userFont=new Font(nameText.getText(),styleI

14、ndex,fontSize); userSelect=OK; setVisible(false); else userSelect=Cancle; setVisible(false); public void valueChanged(ListSelectionEvent e) if (e.getSource()=nameList) nameText.setText(String)nameList.getSelectedValue(); if (e.getSource()=styleList) styleText.setText(String)styleList.getSelectedValu

15、e(); if (e.getSource()=sizeList) sizeText.setText(String)sizeList.getSelectedValue(); 3.3.保存界面代码int doSave() FileOutputStream fout; byte content; int flag; if (!haveName) flag = doSaveAs(); else if(changed) try fout=new FileOutputStream(file); content=text.getText().getBytes(); fout.write(content);

16、fout.close(); changed=false; flag = 1; catch(FileNotFoundException e) JOptionPane.showMessageDialog(this,指定的文件名称或属性有问题!); flag = 0; catch(IOException e) JOptionPane.showMessageDialog(this,无法写文件,请检查文件是否被锁定); flag = 0; else flag =1; return flag; 3.4.打印设计界面代码如下:void doPrint() try PrintRequestAttributeS

17、et pras = new HashPrintRequestAttributeSet(); DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE; PrintService printService = PrintServiceLookup.lookupPrintServices(flavor, pras); PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService(); PrintService service = null; service = Serv

18、iceUI.printDialog(null, 100, 100, printService, defaultService, flavor, pras); if (service!=null) DocPrintJob job = service.createPrintJob(); DocAttributeSet das = new HashDocAttributeSet(); Doc doc = new SimpleDoc(text.getText().getBytes(), flavor, das); job.print(doc, pras); /进行文件的打印 catch(Excepti

19、on e) JOptionPane.showMessageDialog(this,打印任务无法完成); 3.5.查找设计界面代码如下:public findDialog(JFrame owner, JTextArea Jtext) super(owner,false); start=0; text=Jtext; panel1=new JPanel(); panel1.setLayout(new FlowLayout(); panel2=new JPanel(); panel2.setLayout(new FlowLayout(); label1=new JLabel(查找内容); findEd

20、it=new JTextField(12); OKBtn=new JButton(查找下一个); OKBtn.addActionListener(this); panel1.add(label1); panel1.add(findEdit); panel1.add(OKBtn); checkBox=new JCheckBox(区分大小写); checkBox.setSelected(true); upBtn=new JRadioButton(向上); downBtn=new JRadioButton(向下,true); dirBtnGroup=new ButtonGroup(); dirBtn

21、Group.add(upBtn); dirBtnGroup.add(downBtn); CancleBtn=new JButton(取消); CancleBtn.addActionListener(this); panel2.add(checkBox); panel2.add(upBtn); panel2.add(downBtn); panel2.add(CancleBtn); con=getContentPane(); con.setLayout(new FlowLayout(); con.add(panel1); con.add(panel2); setTitle(查找); setSize

22、(300,120); setVisible(true); 4软件测试 软件测试成功 5 系统总结 总体来说,本次项目在规定期间顺利完成,记事本能够完成文件的编辑、保存、剪切,复制、查询、自动换行,字体设计和打印和页面设计等的相应功能。6系统设计心得体会经过一个星期的我的记事本的课程设计,我在老师及同学的指导帮助下,顺利完成该课程设计。通过该课程设计,收获颇多。首先,让我加深了对Java语言的理论知识的理解;其次,让我更加熟练的掌握了Java语言的设计能力并且有了实践经验;再次,在设计过程中,学到了老师没有在课堂上没有教授的知识;最后,加强了我对Java语言的学习兴趣和好感。7参考文献1 耿详义

23、,张跃平. Java 2 实用教程. 北京:清华大学出版社,2004.22 张利国.Java实用教程案例.北京:清华大学出版社,2003.103 周晓聪,等.面向对象程序设计与Java语言.北京:机械工业出版社,2004.34 李尊朝.Java语言程序设计.北京:中国铁道出版社,2004.25 (美)Philip Heller.Complate Java 2 Certification Study Guide Fourth Edition(Java 2 证学习指南) (第四版 英文版). 北京:电子工业出版社,2004.1附录:程序清单import java.awt.*;import java

24、.awt.event.*;import javax.swing.*;import java.io.*;import javax.swing.event.*;import javax.print.*;import javax.print.attribute.*;import java.util.*;import java.text.*;public class Notebook extends JFrame implements ActionListener,DocumentListener Container con; JScrollPane JSPane; JTextArea text; J

25、MenuBar mainMenuBar; JMenu fileMenu,editMenu,formatMenu,helpMenu; JMenuItem newItem,openItem,saveItem, saveasItem,pageItem,printItem,exitItem; JMenuItem undoItem,cutItem,copyItem,pasteItem,findItem,replaceItem,selectallItem,dateItem; JCheckBoxMenuItem wrapItem; JMenuItem fontItem; JMenuItem helpItem

26、,aboutItem; JPopupMenu popMenu; fontDialog myFontDialog=null; boolean changed=false; boolean haveName=false; File file=null;/主程序入口 public static void main(String args) new Notebook(); /创建界面、安装各种监听器、 public Notebook() setTitle(记事本 - 刘兴钢); con=getContentPane(); text=new JTextArea(); JSPane=new JScroll

27、Pane(text); createMenu(); createPopupMenu(); setJMenuBar(mainMenuBar); con.add(JSPane,BorderLayout.CENTER); text.setComponentPopupMenu(popMenu); text.getDocument().addDocumentListener(this); text.addKeyListener(new handleKey(); text.addMouseListener(new handleMouse(); setSize(400,300); setVisible(tr

28、ue); /创建主菜单 public void createMenu() /创建JMenuBar mainMenuBar=new JMenuBar(); /创建四个JMenu fileMenu=new JMenu(文件); editMenu=new JMenu(编辑); formatMenu=new JMenu(格式); helpMenu=new JMenu(帮助); /创建JMenuItem并添加到对应的JMenu中 mainMenuBar.add(fileMenu); newItem=new JMenuItem(新建); openItem=new JMenuItem(打开.); saveI

29、tem=new JMenuItem(保存.); saveasItem=new JMenuItem(另存为.); pageItem=new JMenuItem(页面设置.); printItem=new JMenuItem(打印.); exitItem=new JMenuItem(退出); fileMenu.add(newItem); fileMenu.add(openItem); fileMenu.add(saveItem); fileMenu.add(saveasItem); fileMenu.addSeparator(); fileMenu.add(pageItem); fileMenu.add(printItem); fileMenu.addSeparator(); fileMenu.add(exitItem); mainMenuBar.add(editMenu); undoItem=new JMenuItem(撤消); cutI

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

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