Java中添加适应窗口大小的图片以及画出图形
这个的实现还是比较容易的,以及在容器中写字,画图。这里重写Jpanel容器中的paintComponent()方法来实现这些功能。至于窗口,只需要在窗口之上添加上该容器将其完全覆盖即可。下面来看代码:public class SetPicture extends JPanel{private String picture;//图片位置public SetPicture(S...
·
这个的实现还是比较容易的,以及在容器中写字,画图。这里重写Jpanel容器中的paintComponent()方法来实现这些功能。至于窗口,只需要在窗口之上添加上该容器将其完全覆盖即可。下面来看代码:
public class SetPicture extends JPanel{
private String picture;//图片位置
public SetPicture(String s1) {
this.picture = s1;
}
public void paintComponent(Graphics g){
ImageIcon image = new ImageIcon(picture);
image.setImage(image.getImage().getScaledInstance(this.getWidth(),this.getHeight(),
Image.SCALE_AREA_AVERAGING));//这里设置图片的大小和窗口的大小相等
g.drawImage(image.getImage(),0,0,this);//在窗口上画出该图片
}
}
注意:这里重写方法中的Graphics类不可实例化,使用时间只能在该重写方法中使用!至于写字和画图形,直接使用该类的方法,(可画的图形还是很多的,比如:线,点,圆,字)就可直接在容器的画布上画下相应的图案,当然,需要设置好开始位置和大小,这些都是些小细节。
需要更加注意的是:一定要清楚窗口和容器的概念,窗口就是一个弹窗,其他的各种容器组件都是以它为基础建立的。假如想要添加一个自画的背景,就使用上面的方法,创建一个继承并且重写了paintComponent()方法的类,将其实例化,实例化之后的容器类自带了设置好的背景,至于其他的组件,可以尽情在这容器上添加,因为是该容器覆盖了后面的窗体,因此,组件的添加也是需要在这容器之上,而不是窗体上,不然不可看见。
更多推荐
已为社区贡献1条内容
所有评论(0)