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

开通VIP
 

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

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

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(Javatxt小说阅读器实验报告.doc)为本站上传会员【a199****6536】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

Javatxt小说阅读器实验报告.doc

1、Javatxt小说阅读器实验报告 1. 功能分析 打开文件 功能逻辑图: 文件 退出 字体 格式 颜色 背景颜色 txt 小说阅读器 滚屏速度 帮助 查找 关于 查找 帮助信息 首页 上一页 自动滚屏 底部按钮 下一页 尾页 根据功能逻辑分析图,txt小说阅读器应该具备以下功能: [1]文件的打开及关闭 [2]字体的设置 [3]查找功能 [4]底部按钮(首页、尾页、上一页,下一

2、页,滚屏) [5]双击窗体自动滚屏,单击窗体停止滚屏 2. 功能实现、设计,分析 2.1文件的打开 2.1.1功能实现 2.1.2功能设计 实现的关键代码: [1]监视器: open.addActionListener(new ActionListener() { //打开 public void actionPerformed(ActionEvent e) { (); } }); [2] private void () { //文件对话框 int flag=.showOp

3、enDialog(this); if(flag==J.APPROVE_OPTION) { //获得该文件 (); textArea.setText(null); try{ = .getCurrentDirectory(); //返回当前目录 String name=.get

4、SelectedFile().getName(); ); = new (file); in=new BufferedReader(); String s=null; while((s=in.readLine())!=null){ textArea.append(s+"\n"); } in.close(); .close(); textArea

5、setCaretPosition(0); //让一开始滚动条就在最上方 } catch(IOException exp){} } } 2.1.3 功能分析 经过实验及测试,实现的文件对话框可以正常打开任何文件txt文件,但打开doc文件时会出现乱码的情况 2.2字体的设置 2.2.1功能实现 2.2.2功能设计 实现的关键代码: [1]监视器: font.addActionListener(new

6、 ActionListener() { //字体设置 public void actionPerformed(ActionEvent e) { font1.addEventHandler(); } }); [2] class font { //字体设置 private JTextArea textArea; private JButton ok, cancel; private JComboBox fontName, fontSize, fontStyle; GraphicsEnvironment ge;//

7、 定义系统字体对象 String[] size = { "8", "10", "12", "14", "16", "18", "20", "22", "24", "26", "28", "32", "36", "48", "72", "96" }; String[] style = { "PLAIN", "BOLD", "ITALIC" }; JFrame jf = new JFrame("字体设置"); public font(JTextArea textArea) { this.textArea = textArea; JLabel

8、label1 = new JLabel(" 字体 "); JLabel label2 = new JLabel(" 字号 "); JLabel label3 = new JLabel(" 样式 "); ge = GraphicsEnvironment.getLocalGraphicsEnvironment();// 获取系统字体 String[] fontname = ge.getAvailableFontFamilyNames(); fontName =

9、 new JComboBox(fontname); fontSize = new JComboBox(size); fontStyle = new JComboBox(style); ok = new JButton("确定"); cancel = new JButton("取消"); jf.setLayout(new BorderLayout()); JPanel p1 = new JPanel(); //P236 JPanel p2 = new JPanel(); JPan

10、el p3 = new JPanel(); p1.add(label1); p1.add(label2); p1.add(label3); p2.add(fontName); p2.add(fontSize); p2.add(fontStyle); p3.add(ok); p3.add(cancel); jf.add(p1, BorderLayout.NORTH); //布局,放置的位置 jf.add(p2, BorderLayout.CENTE

11、R); jf.add(p3, BorderLayout.SOUTH); jf.setSize(360, 200); jf.setLocation(300, 200); jf.setVisible(false); jf.setResizable(false);//大小不可调整 } public void addEventHandler() { // TODO Auto-generated method stub jf.setVisible(true); //由原先的不可见-->可见

12、 ok.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { String n1 = (String) fontName.getSelectedItem(); int n2 = fontStyle.getSelectedIndex(); String n3 = (String) fontSize.getSelectedItem(); textArea.setFont(new Font(n1, n2, I

13、nteger.parseInt(n3))); jf.setVisible(false); //点击“确定”按钮后-->不可见 } }); cancel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { jf.setVisible(false); // 若是点击了“取消”按钮-->仅仅让对话框消失即可 } }); } } 2.2.3 功能分析 实现设置字体的该

14、窗体可以实现设置字体的类型、大小、颜色、是否加粗、倾斜等设置,但当设置为一些字体类型时,文本会出现乱码的情况,原因可能是字体编码不一样导致的 2.3查找功能 2.3.1功能实现 2.3.2功能设计 实现的关键代码: [1]监视器: find.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { findtest = new Find(textArea,x,y); findtes

15、t.findset(); } }); [2] import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.event.*; public class Find implements ActionListener,DocumentListener{ private JFrame jframe; private JLabel jlabel; private JTextField jtextFile; private JBut

16、ton jbtNext; private JButton jbtCancel; JTextArea textArea; int i=0; int x,y; public Find(JTextArea textArea,int x,int y) { this.x=x; this.y=y; this.textArea = textArea; jframe = new JFrame(); jlabel = new JLabel("查找内容:"); jtextFile= new JTextField(10);

17、 jbtNext = new JButton("查找下一个"); jbtCancel = new JButton("取消"); jframe.setLayout(new FlowLayout()); jframe.add(jlabel); jframe.add(jtextFile); jframe.add(jbtNext); jframe.add(jbtCancel); jframe.setBounds(x+200,y+200,220, 120); jframe.setVisible(false); //jtext(true

18、); jframe.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); //jframe.pack(); } void findset() { jframe.setVisible(true); jbtNext.addActionListener(this); jbtCancel.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent arg0) { jframe.setVisible(f

19、alse); //一旦点击“取消”按钮后对话框马上消失 jtext(null);//点击“取消”按钮之后,文本框清空 i=0;//点击“取消”按钮之后,i重新赋值0,即下一次查找从头开始 } }); (jtext()).addDocumentListener(this); //监视文本框P251 } @Override public void actionPerformed(ActionEvent e) { String string= jtext().trim();//获取文本框中的内容 if(!("".equals(

20、string))){ //空字符串及用户输入的字符串作比较 P189 String str=textArea.getText(); //获取textArea的内容 if(i!=-1) //防止当i=-1时,下面这行代码会把i=-1重新赋值,导致从头再查找-->查找到尾部后不允许从头重新查找 i=str.indexOf(string,i);//192 if(i>=0){ textArea.setSelectionStart(i); textArea.setSelectionEnd(i + string.length());

21、 } else{ JOptionPane.showMessageDialog(null,"没有找到 "+string);//消息对话框P285,放置在屏幕中间 } }else{ JOptionPane.showMessageDialog(null,"输入不能为空"); } if(i!=(-1)){//为了能继续查找下一个关键字 i+=1; } //System.out.println(i); } //监听文本框 文本框一旦改变(增加、删除、改变),i=0 @Override

22、 public void changedUpdate(DocumentEvent arg0) { //没有下面两个函数,查找一次到头了就不能再继续查找下一次了(即使修改查找内容) // TODO Auto-generated method stub i=0; } @Override public void insertUpdate(DocumentEvent arg0) {//在查找内容的基础上删除 // TODO Auto-generated method stub changedUpdate(arg0); } @Override public

23、 void removeUpdate(DocumentEvent arg0) {//在查找内容的基础上删除 // TODO Auto-generated method stub changedUpdate(arg0); } } 2.3.3功能分析 经过试验,测试,改进,以及再测试,该查找功能能完善地实现查找的功能,精确定位到关键字,符合查找的规则 2.4自动滚屏 2.4.1功能实现 2.4.2功能设计 实现的关键代码: Timer timer = new Timer(delay, new ActionListener() { public

24、void actionPerformed(ActionEvent evt) { jsb.setValue(jsb.getValue() + jsb.getUnitIncrement()); } //设置滚动条的值 }); textArea.addMouseListener(new MouseListener() { //监听鼠标的点击数,执行相应的操作 P252 public void mouseClicked(MouseEvent e) { if (e.getClickCount() == 2) { //滚屏 //time

25、r.start(); count=1; //为的是及底部的“滚屏按钮对应” timer.start(); //为的是及底部的“滚屏按钮对应” roll.setText("暂停滚屏"); } if (e.getClickCount() == 1) { //停止滚屏 //timer.stop(); count=0; timer.stop(); roll.setText("自动滚屏"); } } public

26、void mouseEntered(MouseEvent e) {} public void mouseExited(MouseEvent e) {} public void mousePressed(MouseEvent e) {} public void mouseReleased(MouseEvent e) {} }); 或者: roll.addActionListener(new ActionListener() { public void actionPerformed(ActionEvent e) { if((++

27、count)%2==1){ //滚屏 timer.start(); roll.setText("暂停滚屏"); }else{ //停止滚屏 timer.stop(); roll.setText("自动滚屏"); } } }); 2.4.3功能分析 经过试验,测试,改进,以及再测试,点击窗体下方的“自动/暂停滚屏”按钮可以实现滚屏或是暂停滚屏。鼠标双击/单击窗体,可以实现实现滚屏或是暂停滚屏,并且及窗体下方的“自动/暂停滚屏”按钮的文字相互协调、互相一致,保持同步 2.5设计

28、滚屏速度 2.5.1功能实现 2.5.2功能设计 实现的关键代码: [1]监视器: speed.addActionListener(new ActionListener() { //滚屏速度的设置 public void actionPerformed(ActionEvent e) { sped.liser(); } }); [2] import java.awt.*; import java.awt.event.*; import javax.swing.*; class Speed implements ItemL

29、istener { private JScrollBar jsb; private JFrame jfrm; private JLabel jlb1; private JButton jbt; private JComboBox jcbb; Integer sudu; //速度 Timer timer; //计时器 private Integer msg[] = { 1, 2, 3, 4, 5, 6, 7, 8 }; public Speed(final JScrollBar jsb, final Timer timer) { this.jsb

30、 = jsb; this.timer = timer; jfrm = new JFrame(); jlb1 = new JLabel("滚屏速度"); jbt = new JButton("确定"); jcbb = new JComboBox(msg); jfrm.setLayout(new FlowLayout()); jfrm.add(jlb1); jfrm.add(jcbb); jfrm.add(jbt); jfrm.setVisible(false); jcbb.setEditable(true); j

31、frm.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE); jfrm.pack(); } void liser() { jfrm.setVisible(true); jcbb.addItemListener(this);//*************************关键 jbt.addActionListener(new ActionListener() { //“确定”按钮的监听 public void actionPerformed(ActionEvent arg0) { jfrm

32、setVisible(false); //一旦点击“确定”按钮后对话框马上消失 } }); } @Override public void itemStateChanged(ItemEvent arg0) { sudu = (Integer) jcbb.getSelectedItem(); jsb.setUnitIncrement(sudu.intValue()); } } 2.5.3功能分析 经过试验及测试,该功能可以实现对滚屏速度的设置,而且设置合理 2.6分页 2.6.1功能实现 2.6.2功能设计 [1]上一页:

33、PageUp.addActionListener(new ActionListener() { //上一页 public void actionPerformed(ActionEvent e) { jspValue=scroll.getVerticalScrollBar().getValue(); scroll.getVerticalScrollBar().setValue(jspValue-=scroll.getHeight()); } }); [2]下一页: PageDown.addActionListener(new Act

34、ionListener() { //下一页 public void actionPerformed(ActionEvent e) { jspValue=scroll.getVerticalScrollBar().getValue(); scroll.getVerticalScrollBar().setValue(jspValue+=scroll.getHeight()) } }); [3]首页: HomePage.addActionListener(new ActionListener() { //首页 public v

35、oid actionPerformed(ActionEvent e) { scroll.getVerticalScrollBar().setValue(HEIGHT);//顶点 } }); [4]尾页: EndPage.addActionListener(new ActionListener() { //尾页 public void actionPerformed(ActionEvent e) { jsb.setValue(jsb.getMaximum()); } }); 2.6.3功能分析 经过试

36、验及测试,以上4个功能按钮完全可以实现上下翻页、返回首尾页,满足读者阅读小说的需要 3. 学习心得 在前期准备过程中,先要策划好自己所要表达的内容,主要实现哪些功能,如上一页、下一页、打开、退出、字体设置,查找等,在编写好这些功能后,又是怎么样在面板中布局这些都是我们事先要考虑的问题,只有这样我们考虑周到了,明白了,才能顺利实现更多的功能,达到事半功倍的效果。 对于java语言编程,我们决不能只看不编写。只有自己亲手做了才能体会到学习java语言编程的快乐以及奥妙,也只有自己亲手做了才能学到更多的知识,自己才可以学会应用java语言的知识来解决我们现实生活中的一些实际问题。 学习java语言已经一个学期了,在这个学期,踉踉跄跄,学得不精,还得再下很大的功夫才能领会到它的博大精深,而我只是学习了皮毛而已,许多人把其一生奉献给它,它是另一个世界的通行证。 通过本项目的练习,发现自己在java基础上还是很薄弱,对一些java类掌握的还不够扎实,对一些知识还不够了解,发现写程序和读程序还是有着本质上的区别,自己敲的代码太少,同时这个程序还不够完善,如分页功能还没有完全实现等等,在以后的java学习中需要更加的用心去学 26 / 26

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服