我试图浏览图像并设置为 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
提交
取消