【发布时间】:2012-04-18 05:38:06
【问题描述】:
我将一些图像添加到JPanel。因此,我将单个图像作为ImageIcon 添加到JLabel,并将其添加到主JPanel。虽然我将边界 (setBounds) 设置为图像大小,但在下图所示的图像顶部仍有几个像素的边距。
image http://w752749.open.ge.tt/1/files/64dsvTG/0/blob/x675
我还尝试将图像添加为DisplayJai(),但没有成功(使用DisplayJai,图像也被以一种奇怪的方式裁剪)。
代码的重要部分是
JPanel srcJPanel = new JPanel();
srcJPanel.setBounds(posW, posH, width, height);
srcJPanel.setBorder(new LineBorder(Color.GREEN.darker(), 2));
Image image = newImage.getScaledImg().getAsBufferedImage();
JLabel l = new JLabel(new ImageIcon(image));
l.setBorder(new LineBorder(Color.RED.darker(), 2));
srcJPanel.add(l, BorderLayout.CENTER);
MainPanel.add(srcJPanel);
this.validate();
谁能帮我解决这个问题?
非常感谢。
【问题讨论】:
-
1)
setBounds不要那样做,这可能是问题的核心。而是使用布局。 2)查看使用的图像可能会更有趣。您能否上传一张(以字节为单位的小)图像来显示问题? 3) 为了尽快获得更好的帮助,请发布SSCCE。 4) 有趣的截图,BG 中的那张图片是延时拍摄的吗?
标签: java image swing jlabel jai