Java背景绘制分包和界面变形的一些问题

         白老师,我有一个问题。我现在创建了一个固定大小的JFrame,在里面添加了东西。但是会有一个问题,当我把这个项目拿到不同的操作系统上,比如从Win7XP就会出现变形的问题。我找了一下原因,应该 是由于两个系统下JFrame的边框的大小不一样造成的。请问这种情况怎么解决?

还有就是关于界面背景的问题,在JPanel上可以重写

/**

 * 覆盖父类paint方法

 * <p>绘制背景</p>

 *

 * @param g Graphics对象

 */

public void paint (Graphics g){

super.paint(g);

g.drawImage(Icons.BG.getImage(), 0, 0, null);

super.paintChildren(g);

}

就能很好的实现,可是JFrame上不行啊,就算是绘制成功,因为如果添加东西到JFrame,那么contentPane会覆盖掉背景啊 ?怎么解决啊,一般我们是怎么添加背景的啊?

还有就是关于项目分包的问题,因为项目大了有很多类,应该怎么建包啊,比如我有一个界面类,里面会添加一些功能组件,这些组件,panel都是属于这个界面类的,我是把这些和这个界面类装在一起还是单独建一个包放他们啊,但是我本来是有一个View包装所有界面的。还有就是一些图片,音乐这些又该怎么放啊?

谢了哈,白老师,就是上面的三个问题

 

JPanel中要去重写patinComponent()方法,绘制背景一般都在这里面去绘制的。这样就不会覆盖其他组件了,关于不同系统上JFrame边框大小不一样你可以在JFrame里面放一个JPanel,以后所有的组件都加在这个JPanel里面。设置大小的话就先获得JFrame的四个边框大小,然后再加上一个你自己设置的大小

this.getInsets().top  //上边框

this.getInsets().left //左边框

this.getInsets().right //右边框

this.getInsets().bottom //下边框

 

关于建包的问题,一般界面类都会放在一个包里面,比如view,这里面包含窗口类、面板类

如果是做游戏会涉及到角色类,会建一个角色包,比如role

一些处理音乐、文件的类会放在util包里面

如果还有javabean对象会放到bean包里面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值