背景设置分布在两个地方,效果不一样:
public Cont()
{ 。。。
background = new ImageIcon("g.jpg");
l1 = new JLabel(background);
p2.add(l1, new Integer(Integer.MIN_VALUE));
background.setImage(background.getImage().getScaledInstance
(x,y,Image.SCALE_DEFAULT));
Contframe.validate();//刷新
。。。}
public void actionPerformed(ActionEvent f) //监控按钮操作
{ if (f.getActionCommand()=="森林界面")
{ p2.removeAll();
background = new ImageIcon("s.jpg");
l1 = new JLabel(background);
p2.add(l1, new Integer(Integer.MIN_VALUE));
background.setImage(background.getImage().getScaledInstance
(x,y,Image.SCALE_DEFAULT));
Contframe.validate();//刷新
}
几乎相同的代码,在不同的地方的功能却不一样。好像在Cont()里就没法让图片适应p2的大小。怎么办呢?
------解决方案--------------------
关键就在于:你这个x,y是什么?是通过什么方法获得的?
区别就是,在造函数中的时候:
控件还没展现出来,size还不确定,图片自然无法缩放到你期望的大小
而你在按钮中触发的时候:
所有的控件已经初始化完毕,已经展现了出来,size已经确定,你自然可以将图片缩放到控件的大小
------解决方案--------------------
第一:在造函数中的时候:
控件还没展现出来,size还不确定,图片自然无法缩放到你期望的大小
第二:这个x,y是什么?是通过什么方法获得?