Javatxt小说阅读器实验报告Word文档格式.docx

上传人:b****1 文档编号:4909230 上传时间:2023-05-04 格式:DOCX 页数:22 大小:299.22KB
下载 相关 举报
Javatxt小说阅读器实验报告Word文档格式.docx_第1页
第1页 / 共22页
Javatxt小说阅读器实验报告Word文档格式.docx_第2页
第2页 / 共22页
Javatxt小说阅读器实验报告Word文档格式.docx_第3页
第3页 / 共22页
Javatxt小说阅读器实验报告Word文档格式.docx_第4页
第4页 / 共22页
Javatxt小说阅读器实验报告Word文档格式.docx_第5页
第5页 / 共22页
Javatxt小说阅读器实验报告Word文档格式.docx_第6页
第6页 / 共22页
Javatxt小说阅读器实验报告Word文档格式.docx_第7页
第7页 / 共22页
Javatxt小说阅读器实验报告Word文档格式.docx_第8页
第8页 / 共22页
Javatxt小说阅读器实验报告Word文档格式.docx_第9页
第9页 / 共22页
Javatxt小说阅读器实验报告Word文档格式.docx_第10页
第10页 / 共22页
Javatxt小说阅读器实验报告Word文档格式.docx_第11页
第11页 / 共22页
Javatxt小说阅读器实验报告Word文档格式.docx_第12页
第12页 / 共22页
Javatxt小说阅读器实验报告Word文档格式.docx_第13页
第13页 / 共22页
Javatxt小说阅读器实验报告Word文档格式.docx_第14页
第14页 / 共22页
Javatxt小说阅读器实验报告Word文档格式.docx_第15页
第15页 / 共22页
Javatxt小说阅读器实验报告Word文档格式.docx_第16页
第16页 / 共22页
Javatxt小说阅读器实验报告Word文档格式.docx_第17页
第17页 / 共22页
Javatxt小说阅读器实验报告Word文档格式.docx_第18页
第18页 / 共22页
Javatxt小说阅读器实验报告Word文档格式.docx_第19页
第19页 / 共22页
Javatxt小说阅读器实验报告Word文档格式.docx_第20页
第20页 / 共22页
亲,该文档总共22页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

Javatxt小说阅读器实验报告Word文档格式.docx

《Javatxt小说阅读器实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《Javatxt小说阅读器实验报告Word文档格式.docx(22页珍藏版)》请在冰点文库上搜索。

Javatxt小说阅读器实验报告Word文档格式.docx

=new(file);

in=newBufferedReader();

Strings=null;

while((s=in.readLine())!

=null){

textArea.append(s+"

\n"

);

}

in.close();

.close();

textArea.setCaretPosition(0);

//让一开始滚动条就在最上方

}

catch(IOExceptionexp){}

}

}

2.1.3功能分析

经过实验及测试,实现的文件对话框可以正常打开任何文件txt文件,但打开doc文件时会出现乱码的情况

2.2字体的设置

2.2.1功能实现

2.2.2功能设计

font.addActionListener(newActionListener(){//字体设置

publicvoidactionPerformed(ActionEvente){

font1.addEventHandler();

}

});

classfont{//字体设置

privateJTextAreatextArea;

privateJButtonok,cancel;

privateJComboBoxfontName,fontSize,fontStyle;

GraphicsEnvironmentge;

//定义系统字体对象

String[]size={"

8"

"

10"

12"

14"

16"

18"

20"

22"

24"

26"

28"

32"

36"

48"

72"

96"

};

String[]style={"

PLAIN"

BOLD"

ITALIC"

JFramejf=newJFrame("

字体设置"

publicfont(JTextAreatextArea){

this.textArea=textArea;

JLabellabel1=newJLabel("

字体"

JLabellabel2=newJLabel("

字号"

JLabellabel3=newJLabel("

样式"

ge=GraphicsEnvironment.getLocalGraphicsEnvironment();

//获取系统字体

String[]fontname=ge.getAvailableFontFamilyNames();

fontName=newJComboBox(fontname);

fontSize=newJComboBox(size);

fontStyle=newJComboBox(style);

ok=newJButton("

确定"

cancel=newJButton("

取消"

jf.setLayout(newBorderLayout());

JPanelp1=newJPanel();

//P236

JPanelp2=newJPanel();

JPanelp3=newJPanel();

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.CENTER);

jf.add(p3,BorderLayout.SOUTH);

jf.setSize(360,200);

jf.setLocation(300,200);

jf.setVisible(false);

jf.setResizable(false);

//大小不可调整

}

publicvoidaddEventHandler(){

//TODOAuto-generatedmethodstub

jf.setVisible(true);

//由原先的不可见-->

可见

ok.addActionListener(newActionListener(){

Stringn1=(String)fontName.getSelectedItem();

intn2=fontStyle.getSelectedIndex();

Stringn3=(String)fontSize.getSelectedItem();

textArea.setFont(newFont(n1,n2,Integer.parseInt(n3)));

jf.setVisible(false);

//点击“确定”按钮后-->

不可见

cancel.addActionListener(newActionListener(){

//若是点击了“取消”按钮-->

仅仅让对话框消失即可

}

2.2.3功能分析

实现设置字体的该窗体可以实现设置字体的类型、大小、颜色、是否加粗、倾斜等设置,但当设置为一些字体类型时,文本会出现乱码的情况,原因可能是字体编码不一样导致的

2.3查找功能

2.3.1功能实现

2.3.2功能设计

find.addActionListener(newActionListener(){

findtest=newFind(textArea,x,y);

findtest.findset();

importjava.awt.*;

importjava.awt.event.*;

importjavax.swing.*;

importjavax.swing.event.*;

publicclassFindimplementsActionListener,DocumentListener{

privateJFramejframe;

privateJLabeljlabel;

privateJTextFieldjtextFile;

privateJButtonjbtNext;

privateJButtonjbtCancel;

JTextAreatextArea;

inti=0;

intx,y;

publicFind(JTextAreatextArea,intx,inty){

this.x=x;

this.y=y;

this.textArea=textArea;

jframe=newJFrame();

jlabel=newJLabel("

查找内容:

"

jtextFile=newJTextField(10);

jbtNext=newJButton("

查找下一个"

jbtCancel=newJButton("

jframe.setLayout(newFlowLayout());

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);

jframe.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);

//jframe.pack();

voidfindset(){

jframe.setVisible(true);

jbtNext.addActionListener(this);

jbtCancel.addActionListener(newActionListener(){

publicvoidactionPerformed(ActionEventarg0){

jframe.setVisible(false);

//一旦点击“取消”按钮后对话框马上消失

jtext(null);

//点击“取消”按钮之后,文本框清空

i=0;

//点击“取消”按钮之后,i重新赋值0,即下一次查找从头开始

});

(jtext()).addDocumentListener(this);

//监视文本框P251

@Override

publicvoidactionPerformed(ActionEvente){

Stringstring=jtext().trim();

//获取文本框中的内容

if(!

("

.equals(string))){//空字符串及用户输入的字符串作比较P189

Stringstr=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());

else{

JOptionPane.showMessageDialog(null,"

没有找到"

+string);

//消息对话框P285,放置在屏幕中间

}

}else{

JOptionPane.showMessageDialog(null,"

输入不能为空"

if(i!

=(-1)){//为了能继续查找下一个关键字

i+=1;

//System.out.println(i);

//监听文本框文本框一旦改变(增加、删除、改变),i=0

publicvoidchangedUpdate(DocumentEventarg0){//没有下面两个函数,查找一次到头了就不能再继续查找下一次了(即使修改查找内容)

//TODOAuto-generatedmethodstub

i=0;

publicvoidinsertUpdate(DocumentEventarg0){//在查找内容的基础上删除

changedUpdate(arg0);

publicvoidremoveUpdate(DocumentEventarg0){//在查找内容的基础上删除

}

2.3.3功能分析

经过试验,测试,改进,以及再测试,该查找功能能完善地实现查找的功能,精确定位到关键字,符合查找的规则

2.4自动滚屏

2.4.1功能实现

2.4.2功能设计

Timertimer=newTimer(delay,newActionListener(){

publicvoidactionPerformed(ActionEventevt){

jsb.setValue(jsb.getValue()+jsb.getUnitIncrement());

}//设置滚动条的值

textArea.addMouseListener(newMouseListener(){

//监听鼠标的点击数,执行相应的操作P252

publicvoidmouseClicked(MouseEvente){

if(e.getClickCount()==2){//滚屏

//timer.start();

count=1;

//为的是及底部的“滚屏按钮对应”

timer.start();

roll.setText("

暂停滚屏"

if(e.getClickCount()==1){//停止滚屏

//timer.stop();

count=0;

timer.stop();

自动滚屏"

}

publicvoidmouseEntered(MouseEvente){}

publicvoidmouseExited(MouseEvente){}

publicvoidmousePressed(MouseEvente){}

publicvoidmouseReleased(MouseEvente){}

或者:

roll.addActionListener(newActionListener(){

if((++count)%2==1){//滚屏

}else{//停止滚屏

2.4.3功能分析

经过试验,测试,改进,以及再测试,点击窗体下方的“自动/暂停滚屏”按钮可以实现滚屏或是暂停滚屏。

鼠标双击/单击窗体,可以实现实现滚屏或是暂停滚屏,并且及窗体下方的“自动/暂停滚屏”按钮的文字相互协调、互相一致,保持同步

2.5设计滚屏速度

2.5.1功能实现

2.5.2功能设计

speed.addActionListener(newActionListener(){//滚屏速度的设置

sped.liser();

classSpeedimplementsItemListener{

privateJScrollBarjsb;

privateJFramejfrm;

privateJLabeljlb1;

privateJButtonjbt;

privateJComboBoxjcbb;

Integersudu;

//速度

Timertimer;

//计时器

privateIntegermsg[]={1,2,3,4,5,6,7,8};

publicSpeed(finalJScrollBarjsb,finalTimertimer){

this.jsb=jsb;

this.timer=timer;

jfrm=newJFrame();

jlb1=newJLabel("

滚屏速度"

jbt=newJButton("

jcbb=newJComboBox(msg);

jfrm.setLayout(newFlowLayout());

jfrm.add(jlb1);

jfrm.add(jcbb);

jfrm.add(jbt);

jfrm.setVisible(false);

jcbb.setEditable(true);

jfrm.setDefaultCloseOperation(JFrame.HIDE_ON_CLOSE);

jfrm.pack();

voidliser(){

jfrm.setVisible(true);

jcbb.addItemListener(this);

//*************************关键

jbt.addActionListener(newActionListener(){//“确定”按钮的监听

jfrm.setVisible(false);

//一旦点击“确定”按钮后对话框马上消失

publicvoiditemStateChanged(ItemEventarg0){

sudu=(Integer)jcbb.getSelectedItem();

jsb.setUnitIncrement(sudu.intValue());

2.5.3功能分析

经过试验及测试,该功能可以实现对滚屏速度的设置,而且设置合理

2.6分页

2.6.1功能实现

2.6.2功能设计

[1]上一页:

PageUp.addActionListener(newActionListener(){//上一页

jspValue=scroll.getVerticalScrollBar().getValue();

scroll.getVerticalScrollBar().setValue(jspValue-=scroll.getHeight());

[2]下一页:

PageDown.addActionListener(newActionListener(){//下一页

scroll.getVerticalScrollBar().setValue(jspValue+=scroll.getHeight())

[3]首页:

HomePage.addActionListener(newActionListener(){//首页

scroll.getVerticalScrollBar().setValue(HEIGHT);

//顶点

[4]尾页:

EndPage.addActionListener(newActionListener(){//尾页

jsb.setValue(jsb.getMaximum());

2.6.3功能分析

经过试验及测试,以上4个功能按钮完全可以实现上下翻页、返回首尾页,满足读者阅读小说的需要

3

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2