簡體   English   中英

使用JFileChooser將文件插入Jlabel

[英]Inserting a file into Jlabel with JFileChooser

我試圖通過JFileChooser獲取一個文件(圖像)以適應Jlabel。 但是當我插入文件時,它會擴大Jlabel。
這是我的代碼示例......

JFileChooser chooser = new JFileChooser();
chooser.showOpenDialog(null);
File f = chooser.getSelectedFile();
String filename = f.getAbsolutePath();
btnInsert.setText(filename);
ImageIcon icon = new ImageIcon(filename);
lblPic.setIcon(icon);

試試這段代碼,它可能對您有所幫助。

將圖片作為BufferedImage讀取

 BufferedImage img = null;
 JFileChooser chooser = new JFileChooser();
 chooser.showOpenDialog(null);
 File file = chooser.getSelectedFile();
 try {
     img = ImageIO.read(file );
 } catch (IOException e) {
     e.printStackTrace();
 }

調整BufferedImage的大小

Image dimg = img.getScaledInstance(label.getWidth(), label.getHeight(), Image.SCALE_SMOOTH);

確保標簽寬度和高度與原始圖像寬度和高度的比例相同。 換句話說,如果圖片為600 x 900像素,則縮放為100 X 150.否則,圖片將會失真。

ImageIcon imageIcon = new ImageIcon(dimg)

暫無
暫無

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

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