//:PicViewer.javaimport java.awt.*;
import java.awt.event.*;
import java.io.File;
import java.io.IOException;import javax.imageio.ImageIO;
import javax.swing.*;public class PicViewer{
public static void main(String[] args){
EventQueue.invokeLater(new Runnable(){
public void run(){
PicFrame frame = new PicFrame();
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
frame.setLocationRelativeTo(null);
}
});
}
}class PicFrame extends JFrame{
public PicFrame(){
setTitle("PicViewer");
setSize(550, 420);

JMenuBar bar = new JMenuBar();
setJMenuBar(bar);
JMenu file = new JMenu("file");
bar.add(file);
JMenuItem openItem = file.add(new JMenuItem("open"));
openItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
chooser = new JFileChooser();
chooser.setCurrentDirectory(new File("."));
int result = chooser.showOpenDialog(PicFrame.this);
if(result == JFileChooser.APPROVE_OPTION){
imageName = chooser.getSelectedFile().getPath();
PicComponent component = new PicComponent(imageName);
add(component);
}
}
});
}
class PicComponent extends JComponent{
public PicComponent(String name){
try
      {
         image = ImageIO.read(new File(name));
         System.out.println("第一步");
      }
      catch (IOException e1)
      {
         e1.printStackTrace();
      }
}
public void paintComponent(Graphics g){
g.drawImage(image, 0, 0, null);
System.out.println("第二步");
}
}
private Image image;
private JFileChooser chooser;
private String imageName;
}当我打开一个图像时,只运行到"第一步","第二步"根本没有运行,不知道怎么回事?