[英]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.