请教:如何在JLabel上显示图片,并且图片自适应jLabel的大小

我打算在jLabel上显示图片,jLabel的大小是固定的,在显示图片时,如果图片较大,则缩小显示,并填充满jLabel的显示区域,同理,当图片较小时,就放大显示,并填充... 我打算在jLabel上显示图片,jLabel的大小是固定的,在显示图片时,如果图片较大,则缩小显示,并填充满jLabel的显示区域,同理,当图片较小时,就放大显示,并填充满jLabel的显示区域 展开
 我来答
爱娱乐达人小张
高粉答主

2020-05-02 · 关注我不会让你失望
知道答主
回答量:395
采纳率:100%
帮助的人:8.3万
展开全部

具体方法如下:

1、打开eclipse创建一个test项目,并且把图片放进去。

2、创建一个“JLable_test”类文件。

3、首先创建两个变量imageIcon以及jlable。

4、创建frame窗口并显示。

5、通过addComponentListener方法监听窗口变化。

6、在监听窗口变化的方法中我们可以,每次窗口变换就删除jlable组件,并通过frame的getSize方法获得窗口大小设置为图片的宽高,然后再重新添加jlable组件显示。

7、运行后我们发现图片是填满窗口的,对窗口进行变换缩放的时候,jlable中的图片也会随之缩放。

匿名用户
推荐于2017-05-27
展开全部
自定义JLabel中的图片大小
image.setImage(image.getImage().getScaledInstance(width,height,Image.SCALE_DEFAULT));

import java.awt.Image;

import javax.swing.ImageIcon;
import javax.swing.JFrame;
import javax.swing.JLabel;

public class Test extends JFrame {

public Test() {

int width = 100;
int height = 100;

ImageIcon image = new ImageIcon("no.gif");
image.setImage(image.getImage().getScaledInstance(width,height,Image.SCALE_DEFAULT));
JLabel label = new JLabel(image);

getContentPane().add(label);

setBounds(100, 100, 200, 200);
setDefaultCloseOperation(EXIT_ON_CLOSE);
setVisible(true);
}

public static void main(String[] args) {
new Test();
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-06-07
展开全部
JLabel label=new JLabel();
label.set
ImageIcon image=new ImageIcon("图片路径");
label.getIcon(image) ;
然后将label的Layout选项设定为borderLayout即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式