2014-10-01 64 views
1

我已經看到了很多關於這個東西的問題,但我不能完全理解爲什麼它不起作用。 我想用JFileChooser打開一個圖像,然後在另一個jFrame的jLabel上顯示它。那爲什麼它不起作用?這有什麼錯呢?Java:在jlabel上打開圖像

JFileChooser fileopen = new JFileChooser(); 
int ret = fileopen.showDialog(null, "Open file"); 
if (ret == JFileChooser.APPROVE_OPTION) { 
File file = fileopen.getSelectedFile(); 
Icon icon = fileopen.getIcon(file); 
origin.jLabel1.setIcon(icon);} 

順便說一句,它將工作的.bmp文件,不僅.jpg,.png和.gif?

回答

1

您需要使用ImageIcon。參考可以在這裏找到:ImageIcon java DocsSwing tutorial

下面是更新的源:

JFileChooser fileopen = new JFileChooser(); 
    int ret = fileopen.showDialog(null, "Open file"); 
    if (ret == JFileChooser.APPROVE_OPTION) { 

     File file = fileopen.getSelectedFile(); 
     ImageIcon icon = new ImageIcon(file.getPath()); 
     jLabel1.setIcon(icon); 
    }