首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
以下程序是一个简单文本处理器,菜单项可以打开、编辑、保存一个文件。文件内容显示在下面的文本区域中(提示,打开文件通过文件选择器来完成)。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。运行结果如下图所示。
以下程序是一个简单文本处理器,菜单项可以打开、编辑、保存一个文件。文件内容显示在下面的文本区域中(提示,打开文件通过文件选择器来完成)。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。运行结果如下图所示。
admin
2009-01-15
38
问题
以下程序是一个简单文本处理器,菜单项可以打开、编辑、保存一个文件。文件内容显示在下面的文本区域中(提示,打开文件通过文件选择器来完成)。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。运行结果如下图所示。
注意:不改动程序的结构,不得增行或删行。
import java.awt.*;
import java.awt.event.*;
import java.io.* ;
import javax.swing.*;
class FileFrame extends JFrame
{
File file;
JTextPane textpane;
FileInputStream readStream;
JScrollPane scroll;
public FileFrame()
{
super ("文件浏览");
JMenu fileM = new JMenu("文件");
OpenAction open = new OpenAction ();
SaveAction clear = new SaveAction ();
ExitAction exit = new ExitAction();
JMenuBar mb = new JMenuBar();
fileM.add(open);
fileM.add(clear);
fileM.add(exit);
mb.add(fileM);
textpane=new JTextPane();
scroll=new JScrollPane(textpane);
getContentPane().add(scroll);
getContentPane().addJMenuBar(mb);
}
class OpenAction extends AbstractAction
{
public OpenAction ()
{
super("打开");
}
public void actionPerformed( ActionEvent e )
{
JFileChooser chooser=new JFileChooser();
int state=chooser.showOpenDialog(null);
file=chooser.selectedFile();
if(file!=null&&state==JFileChooser.APPROVE_OPTION)
{
try
{
readStream=new FileInputStream(file);
textpane.read(readStream, this);
readStream.close();
}
catch(IOException ioE){}
}
}
}
class SaveAction extends AbstractAction
{
public SaveAction()
{
super("保存");
}
public void actionPerformed( ActionEvent e )
{
if(file==null)
return;
try{
FileWriter out = new FileWriter(file);
out.read(textpane.getText());
out.close();
}
catch (IOException ioE)
{}
}
}
class ExitAction extends AbstractAction
{
public ExitAction()
{
super("退出");
}
public void actionPerformed( ActionEvent e )
{
System.exit(0);
}
}
public static void main(String argv[])
{
FileFrame f = new FileFrame();
f.setDefaultCloseOperation(JFrame. EXIT ON CLOSE);
f.setSize(300,400);
f.show();
}
}
选项
答案
①setJMenuBar(mb) ②file=chooser.getSelectedFile() ③out.write(textpane.getText())
解析
构造方法FileFrame()中初始化了程序界面,菜单“fileM”中添加了3个菜单项“打开”、“保存”和“退出”,并为这3个菜单项添加了相应的事件。“textpane”是一个文本编辑面板,其上可以显示和修改文本。openAction类定义了用户选择“打开”菜单的事件。用户选择“打开”,程序向用户显示文件选择器“chooser”,使用户通过图形化的方式选择文件。根据用户选择的结果,生成File类的实例“file”。语句“textpane.read(readStream,this)”读取文件内容并显示在“textpane”中。 SaveAction定义了用户选择“保存”菜单的事件。在SaveAction类中,程序调用FileWriter的写文件方法将“textpane”中的内容输出到文件中。
玻璃面板(glassPane)、内容面板(contentPane)、菜单条(JMenuBar)共同组成根面板。getContentPane()获得的是顶层容器的内容面板而不是根面板,所以不能在其中添加菜单条。因此第 1 条下划线处应该改为 setJMenuBar(mb),将“mb”设置为根面板的菜单条。
第2处和第3处改错,主要考查对文件选择和文件输出的基本操作的掌握情况。这些常用的类和常用的方法只有在多次练习之后才能熟练掌握。
转载请注明原文地址:https://jikaoti.com/ti/nJb0FFFM
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
下列叙述中正确的是
有以下程序:INPUTTOAS=0IFA=10S=1ENDIFS=2?S假定从键盘输入的A值是数值型,则程序的运行结果是
下面叙述中错误的是
在面向对象方法中,实现信息隐蔽是依靠
在VisualFoxPro中,下面关于属性、方法和事件的叙述错误的是
打开考生文件夹下的SDB数据库,完成如下综合应用:创建一个标题名为“查询”、文件名为testb的表单,如下图所示。表单要求如下:(1)为表单建立数据环境,并向数据环境中添加“学生表”。(2)表单启动后自动居中。
在考生文件夹下,打开该CDB数据库,完成如下简单应用:1.使用一对多表单向导选择CUST表和ORDER表生成一个名为ONE的表单。要求从父表CUST中选择所有字段,从子表ORDER中选择所有字段,使用“顾客号”建立两表之间的关系,样式为“阴影式”;按
在Applet的关键方法中,下列哪个方法是关闭浏览器以释放Applet占用的所有资源?()
在Applet的关键方法中,下列()方法是关闭浏览器以释放Applet占用的所有资源。
随机试题
焊接结构的装配方法有哪几种?
关于房间隔缺损。除去哪一项以外,均为房间隔缺损的表现
颈静脉注射时,漏注可引起较严重颈静脉周围炎的注射液是
下列不属于阴虚胃痛主症的是
某公司年产焦炭120万t。新建工程项目位于某煤矿,项目投资17.6亿元,于2009年7月建成。工程包括2座55孔炭化室、高6m复热式焦炉,还包括原料场、输配煤系统、筛焦系统、干熄焦(备用湿熄焦)、煤气净化及化产回收等配套工程。装煤出焦、干熄焦烟尘采用地面除
保荐制度主要包括()
下列各指标中,()是客户税前净利润与资产平均总额的比率。
2011年上半年,全国电信业务总量累计完成5681.1亿元,比上年同期增长15.7%;电信主营业务收入累计完成4740.7亿元,比上年同期增长10.1%。2011年上半年,移动通信收入累计比上年同期增长14.0%,在电信主营业务收入中所占的比重为71.
语言文字功底扎实,大致意思是要求学者能较好地掌握研读经典和撰写论文所需要的语言文字。这一点具有普适性,而对于研究传统文化或西方文化、印度文化的学者来说尤其重要。没有扎实的古文字功底,不熟练掌握英语、梵文等外语,仅从白话本、汉译本这些第二手资料入手来做学问,
Logistically,itworkedoutbestformetoflyeastfromBostonLogantoLondonHeathrowtoTokyoNarita,atripwhichinvolves
最新回复
(
0
)