问题:[问答题]
①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处改错,主要考查对文件选择和文件输出的基本操作的掌握情况。这些常用的类和常用的方法只有在多次练习之后才能熟练掌握。