JAVA 布局关于setBounds(int x,int y,int width,int height)求指导!

代码:publicclassImageshowextendsJFrame{publicImageshow(){JLabelr1=newJLabel("");ImageIc... 代码:
public class Imageshow extends JFrame{
public Imageshow(){
JLabel r1=new JLabel("");
ImageIcon ima=new ImageIcon(("C:\\Users\\vane\\Desktop\\火箭队.jpg"));
r1.setIcon(ima);
add(r1);
r1.setBounds(300,100,20,25);
}
public static void main(String args[]){
Imageshow fame=new Imageshow();
fame.setVisible(true);
fame.setSize(700, 500);
fame.setLayout(null);
fame.setDefaultCloseOperation(EXIT_ON_CLOSE);

}

}
为什么图片不显示呢?
我改过宽/高,图片依然不显示。
如果用setBounds(int x,int y,int width,int height),我其中有的JLabel是存放了图片的。
①那width,height(宽度和高度)需要设置成什么呢?因为其图片本身就存在高度很宽度的啊。
②如果强行设置width和height,那会不会压缩图片?
展开
 我来答
lisubai
2011-12-12 · TA获得超过760个赞
知道答主
回答量:35
采纳率:0%
帮助的人:20.9万
展开全部
不会压缩,会显示不全的。。。
你用了setBounds() ,最好用跟图片一样大的高度,宽度, 不然的话就压缩一下吧。。。
山中小馆
推荐于2016-05-15 · 干一行,爱一行,专注零售近十载
山中小馆
采纳数:1082 获赞数:6811

向TA提问 私信TA
展开全部
你的 fame.setVisible(true);太前了.. 往后挪挪... 而且尺寸太小了..

r1.setBounds(300,100,200,252);

public static void main(String args[]) {
Imageshow fame = new Imageshow();
fame.setSize(700, 500);
fame.setLayout(null);
fame.setDefaultCloseOperation(EXIT_ON_CLOSE);
fame.setVisible(true);

}

①那width,height(宽度和高度)需要设置成什么呢?因为其图片本身就存在高度很宽度的啊。
这个看你的需要了.. 想设置多大就设置多大..
②如果强行设置width和height,那会不会压缩图片?
强行设置不会压缩图片,只会显示部分..

想压缩图片,这样做..

ima.setImage(ima.getImage().getScaledInstance(r1.getWidth(),r1.getHeight(),Image.SCALE_DEFAULT));

完整代码:

import java.awt.Image;

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

public class Imageshow extends JFrame {
public Imageshow() {
JLabel r1 = new JLabel("123");
r1.setBounds(300, 100, 200, 250);
ImageIcon ima = new ImageIcon("D:\\开机.png");
ima.setImage(ima.getImage().getScaledInstance(r1.getWidth(),r1.getHeight(),Image.SCALE_DEFAULT));
r1.setIcon(ima);
add(r1);
}

public static void main(String args[]) {
Imageshow fame = new Imageshow();
fame.setSize(700, 500);
fame.setLayout(null);
fame.setDefaultCloseOperation(EXIT_ON_CLOSE);
fame.setVisible(true);

}

}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式