问题 问答题

下列程序用来显示用户要求打开的图片。在名为“读取图像”的JFrame框架中有一个单行文本框,用户可以在其中输入图片文件的文件名称,按下“浏览图片”按钮以后,新生成一个对话框,将图片显示在这个对话框中,运行结果如下图所示。请填写横线处的内容。

注意:请勿改动main()主方法和其他已有语句内容,仅在横线处填入适当语句。 import java.awt.*; import java.awt.event.*; import java.io.*; import javax.swing.*; public class Example2_9 { public static void main(String[] args) { JFrame frame = new FileNameFrame("读取图像"); frame.setDefaultCloseOperation(JFrame. EXIT ON CLOSE); frame.setSize(300, 100); frame.show(); } } class FileNameFrame extends JFram implements ActionListener { JLabel inputLabel; JTextField fileNameText; JButton containtButton; public FileNameFrame(String titleText) { super(titleText); inputLabel = new Jnabel("请输入图像文件的名称"); fileNameText = new JTextField(10); containtButton = new JButton("浏览图片"); fileNameText.addActionListener(this); containtButton.addActionListener(this); JPanel panel = new JPanel(); panel.add(fileNameText); panel.add(containtButton); Container containt = getContentPane(); containt.setLayout(new BorderLayout(3,3)); containt.add(inputLabel, BorderLayout.NORTH); containt.add(panel, BorderLayout.CENTER); } public void actionPerformed(ActionEvent e) { String fileName = fileNameText.getText(); ImageIcon image = ______; ImageDialog dlg = new ImageDialog(this); dlg.setImage(image); dlg.setTitle(fileName); dlg.show(); } class ImageDialog extends JDialog { JLabel imageLabel; public ImageDialog(JFrame frame) { super(frame); imageLabel = new JLabel(); getContentPane().add(imageLabel); this.addWindowListener(new WindowAdapter() { public void windowClosing(WindowEvent e){ hide (); } }); this.setSize(200, 200); } public void setImage(ImageIcon icon) { imageLabel. ______(icon); } } }

答案

参考答案:

解析:①new ImageIcon(fileName)②setIcon 本题是将图片作为图标显示到构件中。 ImageDialog是程序自定义的一个对话框类,在其中添加了一个JLabel对象“imageLabel”, setImage方法可以将名为“icon”的图片添加到imageLabel中,显示到界面上,ImageDialog对话框的标题为图片文件的文件名。 actionPerformed方法相应“浏览图片”按钮对应的事件。按下按钮以后,首先获得用户输入的文件名,以及对应的图片,然后生成 ImageDialog的对象,调用其中的setImage方法把图片显示出来。第1个空是获得根据文件名获得图片。直接根据文件名新建一个ImageIcon对象。第2个空考查构件添加图标的方法。JLabel添加图标的方法是setIcon()。

单项选择题
单项选择题