Java JPanel中的奇怪上边距,在JLabel中添加了图像
我将一些图像添加到Java JPanel中的奇怪上边距,在JLabel中添加了图像,java,image,swing,jlabel,jai,Java,Image,Swing,Jlabel,Jai,我将一些图像添加到JPanel。因此,我向JLabel添加一个图像作为ImageIcon,并将其添加到主JPanel。虽然我将边界(setBounds)设置为图像大小,但在下面显示的图像顶部有几个像素的边距 我还尝试将图像添加为DisplayJai(),但没有成功(使用DisplayJai,图像也以一种奇怪的方式被剪切) 代码的重要部分是 JPanel srcJPanel = new JPanel(); srcJPanel.setBounds(posW, posH, width
JPanel
。因此,我向JLabel
添加一个图像作为ImageIcon
,并将其添加到主JPanel
。虽然我将边界(setBounds)设置为图像大小,但在下面显示的图像顶部有几个像素的边距
我还尝试将图像添加为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();
有人能帮我解决这个问题吗
非常感谢。只有当主面板上有“null”布局时,才应使用setBounds方法,否则每次验证时,边界将重置为默认布局边界。要设置“null”布局,只需将null传递到主面板的setLayout方法中 在大多数情况下,也不需要使用“null”布局。您可以简单地使用现有布局或编写自己的布局,以避免使用“null”布局可能出现的问题 无论如何,您提供的代码不足以看到实际问题-最好发布一个。1)
setBounds
不要这样做,这可能是问题的核心。而是使用布局。2) 看到使用的图像可能会更有趣。你能上传一个显示问题的(小字节)图像吗?3) 为了更快地获得更好的帮助,请发布一个。4) 有趣的屏幕截图,BG中的图像是作为延时完成的吗?