我試圖瀏覽圖像并設置為 Jlabel 但是。我得到 BufferedImage thumbanail = Thumbnails.of(image).size(250,200).asBufferedImage(); 的錯誤 這行代碼錯誤指示大小。jLabel 7 我已經更改了變量名稱 imagelabel 此處圖像需要在瀏覽器圖像后顯示private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) { // TODO add your handling code here: JFileChooser ch = new JFileChooser(); ch.showOpenDialog(null); File f = ch.getSelectedFile(); String filename = f.getAbsolutePath(); jTextField5.setText(filename); try { File image = new File(filename); BufferedImage thumbanail = Thumbnails.of(image).size(250,200).asBufferedImage(); ByteArrayOutputStream os = new ByteArrayOutputStream(); ImageIO.write(thumbanail, "jpeg",os); InputStream is = new ByteArrayInputStream(os.toByteArray()); ByteArrayOutputStream bos = new ByteArrayOutputStream(); byte[] buf = new byte[1024]; for(int readnum;(readnum = is.read(buf))!=-1;) { bos.write(buf,0,readnum); } ImageIcon viewimage = new ImageIcon(thumbanail); imagelabel.setIcon(viewimage); } catch (IOException ex) { Logger.getLogger(emploee.class.getName()).log(Level.SEVERE, null, ex); }
1 回答

臨摹微笑
TA貢獻1982條經驗 獲得超2個贊
首先,您可以選擇圖片并調整其大小以填充 JLabel 并將其添加為 ImageIcon。如果你不縮放圖像將被裁剪。
JFileChooser fc = new JFileChooser();
if(fc.showOpenDialog(frame) == JFileChooser.APPROVE_OPTION){
BufferedImage img = ImageIO.read(fc.getSelectedFile());
ImageIcon imageIcon = new ImageIcon(new
ImageIcon(img).getImage().getScaledInstance(20, 20, Image.SCALE_DEFAULT));
yourLabel.setIcon(imageIcon);
}
這里20,20是你需要設置的圖片的寬高。
添加回答
舉報
0/150
提交
取消