ImageViewer

类别:Java 点击:0 评论:0 推荐:

import java.awt.*;
import java.awt.event.*;
import java.awt.image.*;
import java.io.*;
import javax.swing.*;

public class ImageViewer
{
   public static void main(String[] args)
   {
      JFrame frame=new ImageViewerFrame();
      frame.setTitle("ImageViewer");
      frame.setSize(300, 400);
      frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      frame.show();
   }
}

class ImageViewerFrame extends JFrame
{
 
    public ImageViewerFrame()
 {
  //set up menu bar
  JMenuBar menuBar=new JMenuBar();
  setJMenuBar(menuBar);
  
  JMenu menu=new JMenu("File");
  menuBar.add(menu);
  
  JMenuItem openItem=new JMenuItem("Open");
  menu.add(openItem);
  openItem.addActionListener(new FileOpenListener());
  
  JMenuItem exitItem=new JMenuItem("Exit");
  menu.add(exitItem);
  exitItem.addActionListener(new
  ActionListener()
  {
   public void actionPerformed(ActionEvent event)

{
 System.exit(0);
   }
   }
  );
 
      // use a label to display the images
      label=new JLabel();
      Container contentPane=getContentPane();
      contentPane.add(label);
 
}

    private class FileOpenListener implements ActionListener
   
    {
 public void actionPerformed(ActionEvent evt)
      {
         // set up file chooser
         JFileChooser chooser=new JFileChooser();
         chooser.setCurrentDirectory(new File("."));

         // accept all files ending with .gif
         chooser.setFileFilter(new
            javax.swing.filechooser.FileFilter()
            {
               public boolean accept(File f)
               {
                  return f.getName().toLowerCase()
                     .endsWith(".gif")
                     || f.isDirectory();
               }
               public String getDescription()
               {
                  return "GIF Images";
               }
            });
  //show file chooser dialog 
  int r=chooser.showOpenDialog(ImageViewerFrame.this);

   // if image file accepted, set it as icon of the label
         if(r==JFileChooser.APPROVE_OPTION)
         {
            String name=chooser.getSelectedFile().getPath();
            label.setIcon(new ImageIcon(name));
         }
      }
   }

   private JLabel label;
}


照着core java的书上写了一次,原本写完第一次是很多errors的。呵呵~
后来发现很多都是语法上的问题。而且程序一长就很难看。。
后来修改了很多次。
当然是看着舒来修改。毕竟是初学者。只是打算利用这么一个源代码来加深自己的认识。
成功之后感觉很爽。很开心。呵呵
所以养成一个好的习惯风格是很重要的~

本文地址:http://com.8s8s.com/it/it14094.htm