首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
以下程序是一个简单文本处理器,菜单项可以打开、编辑、保存一个文件。文件内容显示在下面的文本区域中(提示,打开文件通过文件选择器来完成)。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。运行结果如下图所示。
以下程序是一个简单文本处理器,菜单项可以打开、编辑、保存一个文件。文件内容显示在下面的文本区域中(提示,打开文件通过文件选择器来完成)。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。运行结果如下图所示。
admin
2009-01-15
73
问题
以下程序是一个简单文本处理器,菜单项可以打开、编辑、保存一个文件。文件内容显示在下面的文本区域中(提示,打开文件通过文件选择器来完成)。请改正程序中的错误(有下划线的语句),使程序能输出正确的结果。运行结果如下图所示。
注意:不改动程序的结构,不得增行或删行。
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://kaotiyun.com/show/JLnp777K
本试题收录于:
二级Java题库NCRE全国计算机二级分类
0
二级Java
NCRE全国计算机二级
相关试题推荐
在下列模式中,能够给出数据库物理存储结构与物理存取方法的是
假设“图书”表中有C型字段“图书编号”,要求将图书编号以字母A开头的图书记录全部打上删除标记,可以使用SOL命令
假设每个歌手的“最后得分”的计算方法是:去掉一个最高分和一个最低分,取剩下分数的平均分。根据“评分”表求每个歌手的“最后得分”,并存储于表TEMP中,表TEMP中有两个字段:“歌手号”和“最后得分”,并且按最后得分降序排列,生成表TEMP的SQL语句是
ModifyCommand命令建立的文件的默认扩展名是
下面叙述中错误的是
在考生文件夹下存在表单文件myform.scx,其中包含一个名为“高度”的标签,文本框Text1,以及一个名为“确定”的命令按钮。打开该表单文件,然后在表单设计器环境下完成如下操作:1.将标签、文本框和命令按钮3个控件设置为顶边对齐。2
设计一个表单名和文件名均为form_item的表单,其中,所有控件的属性必须在表单设计器的属性窗口中设置。表单的标题设为“使用零件情况统计”。表单中有一个组合框(Combol)、一个文本框(Text1)、两个命令按钮“统计”(command1)和“退出”(
假设使用DIMENSIONarr(5)定义了一个一维数组arr,正确的赋值语句是()。
关于内存变量的调用,下列说法正确的是
SQL语言的更新命令的关键词是()。
随机试题
砌砖通常采用“三一砌筑法”,其具体指的是()
《建设工程施工合同(示范文本)》合同文件其优先解释顺序是不同的,一般的优先顺序应为()。
会计电算化定义中所说的会计工作中应用电子计算机为主体的当代电子信息技术包括()等。
糖醋鲤鱼、松鼠鳜鱼、樟茶鸭子、冰糖甲鱼分别是()的代表菜。
人民警察的(),是指公安机关对已不具备人民警察条件,不适合在公安机关继续工作的人员,解除其与公安机关任用关系的一种人事行政管理措施。
我国实施科教兴国发展战略,应当借鉴诸多国家科技政策和发展战略的有益启示,对“技术立国”“教育立国”的模式进行重复或仿效。()
美国第一个将巴甫洛夫的研究结果作为学习理论的基础的人是()。
论述社会主义和谐社会的基本特征。
WhichofthefollowingsentencesdoesNOTcontainsubjunctivemood?
By2030,peopleover65inGermany,theworld’sthird-largesteconomy,willaccountforalmosthalftheadultpopulation,compar
最新回复
(
0
)