簡體   English   中英

從 java.netbeans IDE 8.02 中的 jFileChooser 選擇后 JLabel 不顯示圖像

[英]JLabel not displaying image after choosing from jFileChooser in java netbeans IDE 8.02

我正在使用 NetBeans IDE 8.0.2 創建我的項目應用程序。 我已經使用CardLayout中的多個面板創建了我的應用程序的注冊頁面。 為了讓用戶上傳他們的圖像,我創建了一個JLabel並向其添加了mouseClicked事件,該事件顯示JFileChooser但所選圖像未顯示在 label 中(即使圖像路徑已存儲)。 請檢查以下代碼。

private void PrImgLabMouseClicked(java.awt.event.MouseEvent evt) {                                      
    // TODO add your handling code here:
    JFileChooser FileChooser = new JFileChooser();
    int response = FileChooser.showOpenDialog(Panel1);
    if(response == JFileChooser.APPROVE_OPTION){
        File imgFile = FileChooser.getSelectedFile();
        String Filepath = imgFile.getAbsolutePath();
        ImgMeth.Resize(Filepath, PrImgLab);
    }
    else if(response == JFileChooser.CANCEL_OPTION);{
        Icon defimg = new ImageIcon("DefImg.png"); //default image path
        PrImgLab.setIcon(defimg);
    }
}

這是 label 事件 class,下面的代碼是用於調整圖像大小並將其放入JLabel的方法。

public void Resize(String path,JLabel label){
    ImageIcon img = new ImageIcon(path);
    Image image  = img.getImage();
    Image imgScale = image.getScaledInstance(label.getWidth(), label.getHeight(), Image.SCALE_SMOOTH);
    Icon icon = new ImageIcon(imgScale);
    
    label.setIcon(icon);
}

在調用resizeYes,應該以小寫開頭)之后,對包含 label 的Container調用validate

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM