我添加了这样的图片
BufferedImage eastFramerPicture = ImageIO.read(new File("src\\Images\\farmer.png"));
JLabel eastFarmer = new JLabel(new ImageIcon(eastFramerPicture));
但是如何让图像填充面板,提供的图像显示我面临的问题(着色用于指示东,西,中,南的区域)
我做错了什么?如果有什么不清楚请注释,我会回复。
感谢您的时间
答案 0 :(得分:1)
查看Background Panel。您可以显示图像:
因此,请尝试每个选项以查看您最喜欢的内容。
或者您也可以使用Stretch Icon。标签中的图标将缩放以填充可用空间。
两种解决方案都提供可重复使用的代码,因此您无需在每次有此类要求时编写自定义代码。代码也是动态的,并会在调整帧大小时进行调整。
答案 1 :(得分:1)
答案取决于许多因素......
简单的解决方案是使用Image#getScaledInstance
,但如果你走这条路,你应该读一下The Perils of Image.getScaledInstance
BufferedImage eastFramerPicture = ImageIO.read(getClass().getResource("/Images/farmer.png"));
Image scaled = eastFramerPicture.getScaledInstance(600, 600, Image.SCALE_SMOOTH);
您还可以使用像imgsclr
这样的库答案 2 :(得分:-1)
尝试使用setBounds(x,y,width,height);