2012-02-15 95 views
0

我儘量讓圖像瀏覽器,代碼如下如何使圖像調整大小

import javax.swing.*; 
import java.awt.event.*; 
import java.IO.*; 

public class javaImageViewer extends JFrame{ 
    public javaImageViewer(){ 

     setDefaultCloseOperation(EXIT_ON_CLOSE); 
     this.setSize(200,100); 
     JButton openButton = new JButton("Open Images"); 
     getContentPane().add(openButton); 

     openButton.addActionListener(new ActionListener() { 
     public void actionPerformed(ActionEvent e){ 
      JFileChooser chooser = new JFileChooser("."); 
      int status = chooser.showOpenDialog(javaImageViewer.this); 
      if(status == JFileChooser.APPROVE_OPTION){ 
       try{ 
        JFrame frame = new JFrame(); 
        JLabel label = new JLabel(new ImageIcon(chooser.getSelectedFile().toURL())); 
        frame.add(label); 
        frame.setSize(500,500); 
        frame.setVisible(true); 
       } 
       catch(Exception e2){ 
        System.out.println("Error"+e2); 
       } 
      } 

      } 

     }); 
    } 
    public static void main(String [] args){ 
     javaImageViewer tim = new javaImageViewer(); 
     tim.setVisible(true); 
    } 

} 

但是當我從相機打開圖像,它總是顯示在幀大小 我不知道如何使圖像追隨我的框架大小?

,以便將圖像按實際尺寸,你可以嘗試讓自己的JPanel,覆蓋paintComponent方法,而這個方法裏面使用g.DrawImage

回答

1

其他的解決辦法,也許更容易被設置JPanel的dimesion與你同dimesion圖像和此JPanel添加到JScrollPane中,以這樣的方式去展現一個滾動條來瀏覽