本 题 的 要 求 是 : 在 图 形 用 户 界 面 中 , 在 JFrame 窗 口 的 左 上 方 , 有 一 个 " 红 军 不 怕 远 征 难 " 的 字 符 串 ,用 户 可 以 通 过 窗 口 中 的 Fi le 菜 单 下 的 Open 子 菜 单 来 选 择 01 4. JPG 图 片 或 306 . JPG 图 片 并 显 示 。 在 窗 口 下 方 有 一 个 选 择 框 可 对 " 红 军 不 怕 远 征 难 " 的 字 符 串 进 行 字 体 选 择 。 该 程 序 运 行 时 的 界 面如下显示: 考生要求对Java_3.java文件进行完善并调试,使程序显示如上界面 。 由于Java_3.java是不完整的,请在注释行“//******Found******”下一行语句的下划线地方填入正确内容,然后删除下划线,请勿注释行或其他己有语句内 容。存盘时, 文件必须存放在考生文件夹下,不得改变有文件的文件名。 具体程序如下: import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; public class Java_3 { public static void main(String[] args) { JFrame frame = new ImageViewerFrame(); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setVisible(true); } } class ImageViewerFrame extends JFrame { public ImageViewerFrame() { setTitle("ImageViewer"); setSize(DEFAULT_WIDTH, DEFAULT_HEIGHT); label = new JLabel(); Container contentPane = getContentPane(); contentPane.add(label,BorderLayout.CENTER); chooser = new JFileChooser(); chooser.setCurrentDirectory(new File(".")); JMenuBar menuBar = new JMenuBar(); setJMenuBar(menuBar); JMenu menu = new JMenu("File"); menuBar.add(menu); JMenuItem openItem = new JMenuItem("Open"); //*********Found********** _______________.add(openItem); //*********Found********** openItem.___________________________(new ActionListener() { public void actionPerformed(ActionEvent evt) { int r = chooser.showOpenDialog(null); if(r == JFileChooser.APPROVE_OPTION) { //*********Found********** String name = __________________.getSelectedFile().getPath(); label.setIcon(new ImageIcon(name)); } } }); labelT = new JLabel("红军不怕远征难"); labelT.setFont(new Font("隶书", Font.PLAIN, DEFAULT_SIZE)); contentPane.add(labelT, BorderLayout.NORTH ); faceCombo = new JComboBox(); faceCombo.setEditable(true); faceCombo.addItem("隶书"); faceCombo.addItem("华文新魏"); faceCombo.addItem("华文行楷"); faceCombo.addItem("华文隶书"); //*********Found********** faceCombo.________________________(new ActionListener() { public void actionPerformed(ActionEvent event) { //*********Found********** labelT.setFont(new Font((String)____________________.getSelectedItem(), Font.PLAIN, DEFAULT_SIZE)); } }); JPanel comboPanel = new JPanel(); comboPanel.add(faceCombo); contentPane.add(comboPanel, BorderLayout.SOUTH); } private JLabel label; private JLabel labelT; private JFileChooser chooser; private JComboBox faceCombo; private static final int DEFAULT_SIZE = 24; public static final int DEFAULT_WIDTH = 570; public static final int DEFAULT_HEIGHT = 400; }