簡體   English   中英

無法在JLabel中設置圖片

[英]unable to set image in JLabel

我設計了一個簡單的表格。

在其中,我將一個面板作為contentPane放置一個JLabel作為lblPanel。

現在我正在嘗試在JLabel中設置圖像。

我正在使用WindowBuilder,因此可以通過設置JLabel的icon屬性直接設置圖像。

但是,當我嘗試此操作時,它僅將Image顯示為原始大小,這很自然,我們必須手動設置圖像大小才能將JLabel整個送入。

所以,這是當我使用JLabel的icon屬性設置Image時WindowBuilder生成的代碼。

lblPanel.setIcon(new ImageIcon(Admin_Form.class.getResource("/Icons/MouthSmile.jpg")));

現在,我的問題是我想將圖像的大小設置為JLabel的大小,因此可以使用WindowBuilder或只是修改上面的行來直接進行處理嗎?

我還嘗試了以下方式,我拍攝了兩個Imageicon和一個Image。

這是我已經嘗試過的代碼。

private Image img;
private ImageIcon imgicon;
private ImageIcon newimgicon;

imgicon = new ImageIcon("/Icons/MouthSmile.jpg");
img = imgicon.getImage();

newimgicon = new ImageIcon(img.getScaledInstance(lblPanel.getWidth(),lblPanel.getHeight(), Image.SCALE_SMOOTH)); 
lblPanel.setIcon(newimgicon);

但是,當我刪除由Window Builder生成的代碼並僅使用我的代碼時,不會顯示圖像。

我也看到了使用BufferedImage的方法,但我認為我將使用BufferedImage調整大小或ImageIcon和Image不會有任何區別。

如果您嘗試在將lblPanel添加到Container之前以及在看到JFrame之前獲取lblPanel的寬度和高度,則寬度和高度都將為0。

您可以調整選擇使用的圖像的大小,這將使JLabel達到所需的大小。 那是最簡單的方法。

暫無
暫無

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

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