请完成下列Java程序:用树构件展示计算机等级考试二级的简单目录组织结构,包含三级目录,第一级是根目录(计算机二级);第二级包含2个目录,一个是c++,一个是java;c++目录中,只有一项就是简介,而java目录中包含三项,一个简介,一个大纲,一个第三级目录(参考书);参考书目录中包含两项,一个是指导书,一个是上机习题集。要求,根据上述目录结构给出图形用户界面的表示。 注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。 程序运行结果如下:
import java.awt.*; import java.awt.event.*; import javax.swing.*; import javax.swing.tree.DefaultMutableTreeNode; public class ex23_2 extends JPanel{ static JFrame jfrm; public ex23_2(){ setLayout(new BorderLayout()); DefaultMutableTreeNode root = addNode(); JTree jt = new JTree(root); jt.setRootVisible(true); JScrollPane jsp = new JScrollPane(); jsp.setViewportView(jt); add(jsp); } public DefaultMutableTreeNode addNode(){ DefaultMutableTreeNode root = new DefaultMutableTreeNode("计算机二级"); DefaultMutableTreeNode sub1 =new DefaultMutableTreeNode("java"); DefaultMutableTreeNode sub2 = new DefaultMutableTreeNode("c++"); root.add(sub2); root.add(sub1); DefaultMutableTreeNode magazines = new DefaultMutableTreeNode("参考书"); sub1.add(new DefaultMutableTreeNode ("简介")); sub1.add(new DefaultMutableTreeNode ("大纲")); __________________; magazines.add(new DefaultMutableTreeNode ("指导书")); magazines.add(new DefaultMutableTreeNode ("上机习题集")); __________________.add(new DefaultMutableTreeNode("简介")); return root; } public static void main(String args[]){ jfrm = new JFrame("ex23_2"); ex23_2 obj23_2 = new ex23_2(); jfrm.getContentPane().add("Center",obj23_2); jfrm.setSize(400,250); jfrm.addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) { System.exit(0);} }); jfrm.setVisible(true); } }
参考答案:
解析:sub1.add(magazines) sub2 本题主要考查使用swing的基本构件进行图形用户界面编程。解题关键是熟练掌握JTree构件和DefaultMutableTreeNode构件相结合创建分级目录的基本使用方法。本题中,第1个空,知道magazines对象是代表了第三级目录的,而sub1对象定义了java目录,所以这里应该是sub1.add(maganizes);第2个空,sub2对象定义了第二级目录的c++目录,因此这里应该是 c++目录中的项“简介”。